主要内容:
- 搭建PHP开发环境
- 第一个helloworld程序
- 变量
- 全局变量
- 循环结构
- 函数
- 数组
- 面向对象编程
- 继承
- 接口
- 多态
- 日志
- 文件的读写
- 时间格式和时区
- 创建图形
- 从远程获取图形
- 生成二维码
- php与数据库mysql的连接
- mysql数据库面向对象编程
- cookie技术
- 查看cookie
- session技术
- 查看session
- 文件上传
PHP(Hypertext Preprocessor)PHP超文本预处理程序,是一种嵌入HTML的脚本语言,运行在服务器。
如果有一定的编程基础,1小时之内看完so easy!
搭建PHP开发环境
PHP开发环境主要3部分:服务器Apache,编程语言PHP,数据库MySQL。搭建开发环境,直接使用XAMPP集成安装就可以。
XAMPP=Apache+MySQL+PHP+Perl,X表示的是跨平台。
官网下载安装即可:https://www.apachefriends.org/zh_cn/index.html
( 安装太简单了,没有什么可说的,不过如果以前安装过tomcat,apache,MySQL等,xampp的部分功能可能不能使用,解决办法网上很多,不再赘言)
第一个helloworld程序
php可以使用note++进行编辑。
helloworld.php
1
2
3
|
<?php
echo
"hello world!"
;
?>
|
然后运行XAMPP的控制面板,点击Apache的start,绿色就是正常运行了。
然后将helloworld.php文件放在路径:C:\xampp\htdocs
浏览器输入:http://localhost/helloworld.php
ok,我们的第一个PHP程序就完成了。
ps:以后我们将php文件放在一个单独的文件夹basic中,便于管理
变量
变量,存储数据的容器,在php中,使用$(美元符号)开头的就是变量,可以给变量赋值,或者输出变量的值。
另外,php语句以;(英文状态半角的分号)结束。
1
2
3
4
5
6
7
8
|
<?php
//$定义变量
$text=
'this is a text'
;
//输出变量
echo $text;
?>
|
全局变量
全局变量就是在所有的php文件范围内都可以使用的变量(变量的概念,存储数据的容器)
最常用的全局变量有$_GLOBAL,$_SERVER,$COOKIE,$_SESSION,__FILE__(注意是2个下划线),__LINE__
php文件是嵌入到html、的一种语言,运行在服务器端,可以和html语言混合书写。
这里的.(点号)表示拼接字符串,echo可以输出字符串。
global.php
1
2
3
4
5
6
7
8
9
10
11
|
<?php
echo
'当前执行脚本文件名:'
.$_SERVER[
'PHP_SELF'
].
'<br/>'
;
echo
'当前执行脚本根目录:'
.$_SERVER[
'DOCUMENT_ROOT'
].
'<br/>'
;
//单行注释
echo
'当前执行脚本绝对路径:'
.$_SERVER[
'SCRIPT_FILENAME'
].
'<br/>'
;
//print_r($_SERVER);
//返回当前文件名,行号
echo
'当前文件名称:<strong>'
.__FILE__.
'</strong><br/>'
;
echo
'当前行号:<strong>'
.__LINE__.
'</strong><br/>'
;
?>
|
打开浏览器,输入:http://localhost/basic/global.php
循环结构
循环主要就是for循环,和while循环,可以重复执行某一个动作,直到满足条件
for(初始化计数值; 满足条件就继续执行 ; 执行后的操作,将计数值+1){ 执行的代码; }
while( 满足条件就继续执行){ 执行的代码; 将计数值+1 ; }
for_while.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
//for循环
for
($i=0;$i<10;$i++){
echo
'good! '
;
}
echo
'<br/>'
;
//while循环
$j=0;
while
($j<5){
echo
'do... '
;
$j++;
}
?>
|
打开浏览器,输入:http://localhost/basic/for_while.php
函数
这是任何一种语言的重点,包括php
func.php
1
2
3
4
5
6
7
8
9
10
|
<?php
sum(1,3);
//定义求和函数,带2个参数
function sum($a,$b){
echo
"$a+$b="
.($a+$b);
//双引号会输出变量,单引号输出字符串
echo
'<br/>'
;
echo
'$a+$b='
.($a+$b);
}
?>
|
1
|
?>
|
打开浏览器,输入:http://localhost/basic/func.php
数组
数组分为索引数组,关联数组,使用print_r(数组)来输出数组内容
var_dump(数组)查看详细信息
可以使用foreach(数组 as 键 = > 值){ } 来循环输出数组
array.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?php
//索引数组
$arr=array(
'小李'
,
'25'
,
'男'
,
'开发工程师'
);
print_r($arr);
//Array ( [0] => 小李 [1] => 25 [2] => 男 [3] => 开发工程师 )
//关联数组
$array=array(
'姓名'
=>
'小明'
,
'年龄'
=>
'25'
,
'性别'
=>
'男'
,
'职业'
=>
'开发工程师'
);
print_r($array);
//Array ( [姓名] => 小明 [年龄] => 25 [性别] => 男 [职业] => 开发工程师 )
echo
'<br/>'
;
//输出详细信息
var_dump($arr);
/*array(4) {
[0]=> string(6) "小李"
[1]=> string(2) "25"
[2]=> string(3) "男"
[3]=> string(15) "开发工程师"
}*/
echo
'<br/>'
;
//循环输出数组
foreach
($array
as
$k=>$v){
echo
"键值对:$k --> $v"
.
'<br/>'
;
}
/**
键值对:姓名 --> 小明
键值对:年龄 --> 25
键值对:性别 --> 男
键值对:职业 --> 开发工程师
*/
?>
|
以下内容就是编程技术的分水岭,面向对象编程
面向对象编程
在面向对象编程的思想中,有最重要的2句话:
- 类用来封装代码
- 对象用来封装数据
首先来学习怎么样定义一个类:
类名前+class,类中有public的属性,如$name,$sex,$age,还有public的方法say()
在类中,只要new一个对象,就自动会执行__construct构造方法
一个类被销毁,或者程序执行完毕,自动执行__destruct()解构方法
类的属性和方法,通过对象->指针符号调用
$this 表示当前对象。
classMehtod.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?php
//定义一个类
class
ren{
public
$name;
public
$sex;
public
$age;
//成员方法
public
function say(){
echo
'我的名字是'
.$
this
->name.
',性别是'
.$
this
->sex.
','
.$
this
->age.
'岁了<br/>'
;
}
//构造方法,只要new 就会执行
function __construct($name,$sex,$age){
$
this
->name=$name;
$
this
->sex=$sex;
$
this
->age=$age;
echo
'构造对象'
.$
this
->name.
'<br/>'
;
}
//解构方法,程序结束,对象销毁时执行
function __destruct(){
echo
'解构对象'
.$
this
->name.
'<br/>'
;
}
}
//实例化对象
$xiaoli=
new
ren(
'小李'
,
'男'
,
'25'
);
$xiaoli->say();
/*输出:
构造对象小李
我的名字是小李,性别是男,25岁了
解构对象小李
*/
?>
|
继承
面向对象编程思想中,有3个核心概念:
- 封装
- 继承
- 多态
封装其实就是类,定义类就是将代码封装起来了。
其次就是继承!
继承的关键字:extends
$this 表示当前对象。
一个B类继承另外一个类A,B会自动拥有A的所有的属性和方法,而不用再书写一遍(继承的思想,程序员懒惰的直接体现,要是程序员也有一个有钱的爹可以继承财富该多好。。。)
inherit.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
//申明tool类
class
tool{
function
on
(){
echo
'<br/>启动<br/>'
;
}
function run(){
echo
'<br/>运行<br/>'
;
}
function off(){
echo
'<br/>关闭<br/>'
;
}
}
//继承inherit
class
fan extends tool{
function app(){
$
this
->
on
();
$
this
->run();
$
this
->off();
}
}
//简化使用
$haierFan=
new
fan();
$haierFan->app();
?>
|
接口
接口是一种更加高级的继承方法
定义接口的关键字:interface
实现(继承)接口的关键字:implements
接口中的所有的方法都是默认public的,而且只要定义,不用实现(在实现类中实现具体方法)
interface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<?php
//申明接口
interface
tool{
function
on
();
function run();
function off();
}
//实现接口
class
fan implements tool{
public
$name;
function
on
(){
echo
'<br/>'
.$
this
->name.
'风扇启动<br/>'
;
}
function run(){
echo
'<br/>'
.$
this
->name.
'风扇运行<br/>'
;
}
function off(){
echo
'<br/>'
.$
this
->name.
'风扇关闭<br/>'
;
}
function __construct($name){
$
this
->name=$name;
}
}
//继承inherit
class
haierfan extends fan{
function app(){
$
this
->
on
();
$
this
->run();
$
this
->off();
}
}
//实例化
$fan=
new
fan(
'美的 '
);
$fan->
on
();
$fan->run();
$fan->off();
echo
'<br/> ------------分割线------------ <br/>'
;
//实例化
$haierfan=
new
haierfan(
'海尔 '
);
$haierfan->app();
?>
|
多态
作为面向对象编程的3大思想之一,多态也是一种高级技能
多态一般都是通过接口来实现的
就是调用同一个方法,执行得到的结果却不同!!!
通过输入参数的不同,执行结果不同,这就是多态
polymorphism.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?php
//申明接口
interface
tool{
function
on
();
function run();
function off();
}
//实现接口
class
fan implements tool{
public
$name;
function
on
(){
echo
'<br/>'
.$
this
->name.
'风扇启动<br/>'
;
}
function run(){
echo
'<br/>'
.$
this
->name.
'风扇运行<br/>'
;
}
function off(){
echo
'<br/>'
.$
this
->name.
'风扇关闭<br/>'
;
}
function __construct($name){
$
this
->name=$name;
}
}
//实现接口
class
engine implements tool{
public
$name;
function
on
(){
echo
'<br/>'
.$
this
->name.
'发动机启动<br/>'
;
}
function run(){
echo
'<br/>'
.$
this
->name.
'发动机运行<br/>'
;
}
function off(){
echo
'<br/>'
.$
this
->name.
'发动机关闭<br/>'
;
}
function __construct($name){
$
this
->name=$name;
}
}
//状态类
class
toolStatus{
function ts($tool){
$tool->
on
();
$tool->run();
$tool->off();
}
}
//应用多态polymorphism
$fan=
new
fan(
'海尔 '
);
$engine=
new
engine(
'奥迪 '
);
$toolStatus=
new
toolStatus();
$toolStatus->ts($fan);
$toolStatus->ts($engine);
?>
|
这又是一条牛逼的分割线,php基本功能就是以上的内容,下面是一些更加高阶玩法。
日志
log.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?php
/*
1、设置php.ini文件
2、日志分类
3、查看日志
*/
//生成运行日志
error_log(
"FORM "
.__FILE__.
" ERROR LINE:"
.__LINE__);
/*需要设置正确的日志路径,确保路径存在
[15-Sep-2018 09:31:45 Europe/Berlin]
这是来自C:/xampp/htdocs/basic/log.php 的一段自定义的报错日志信息
*/
//生成系统日志
openlog(
'PHP7'
,LOG_PID,LOG_USER);
syslog(LOG_WARNING,
'向syslog发送自定义信息'
);
closelog();
try
{
$a=10;
if
(isset($b)){
echo
"程序正常执行"
;
}
else
{
throw
new
Exception();
}
}
catch
(Exception $e){
ERROR_LOG(
"错误代码所在路径:"
.$e->getFile());
ERROR_LOG(
"错误代码所在行号:"
.$e->getLine());
}
echo
"<br/>程序执行完毕<br/>"
;
/*
[15-Sep-2018 09:44:41 Europe/Berlin] 错误代码所在路径:C:\xampp\htdocs\basic\log.php
[15-Sep-2018 09:44:41 Europe/Berlin] 错误代码所在行号:26
*/
//输出日志 依赖于文件的读写操作,后续将会学习
?>
|
查看运行日志
查看系统日志
显示乱码主要是编码字符集的问题,将log.php文件保存为ANSI格式即可看到中文正常显示,解决方法网上很多。
文件的读写
fileIO.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?php
//读取文件
//readfile('./test.txt');
//访问远程文件,需要设置php.ini的 allow_fopen=On
$html=file_get_contents(
'http://www.baidu.com'
);
//输出html页面
//echo $html;
//设置时区
//可以在文件开头位置设置默认配置的时区,也可以在php.ini中进行设置
ini_set(
'date.timezone'
,
'Asia/Shanghai'
);
//date_default_timezone_set('asia/shanghai');
//向文件中写入内容
/*
1、打开文件
2、写入数据
3、关闭文件
*/
//$file=fopen('./test.txt','a+');//追加模式
//$file=fopen('./test.txt','r+');//半覆盖(数据多少覆盖多少)
$file=fopen(
'./test.txt'
,
'w+'
);
//全覆盖
if
($file){
fwrite($file,
'写数据123!\r\n换行了吗?\r\n'
);
//单引号不会换行
fwrite($file,
"写数据123!\r\n换行了吗?\r\n"
);
//双引号换行
echo date(
"Y-m-d H:i:s"
).
'写入数据成功'
.date(
"Ymd His"
);
fclose($file);
}
?>
|
时间格式和时区
time.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
//设置时区
echo
'<br/>默认时区时间:'
.date(
"Y-m-d H:i:s"
).
'<br/>'
;
//可以在文件开头位置设置默认配置的时区
//也可以在php.ini中进行设置date.timezone(所有文件生效)
ini_set(
'date.timezone'
,
'Asia/Shanghai'
);
echo
'<br/>上海时区时间:'
.date(
"Y-m-d H:i:s"
).
'<br/>'
;
//或者直接设置时间格式
date_default_timezone_set(
'asia/tokyo'
);
echo
'<br/>东京时区时间:'
.date(
"Y-m-d H:i:s"
).
'<br/>'
;
echo
'<br/>格式化时间:'
.date(
"YmdHis"
).
'<br/>'
;
/*
默认时区时间:2018-09-15 10:44:03
上海时区时间:2018-09-15 16:44:03
东京时区时间:2018-09-15 17:44:03
格式化时间:20180915174403
*/
?>
|
创建图形
image.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
//创建画布
$img=imagecreate(500,500);
//设置颜色
//背景色
$white=imagecolorallocate($img,255,255,255);
//画笔
$black=imagecolorallocate($img,0,0,0);
//矩形
imagerectangle($img,100,100,300,300,$black);
//输出图像前清理输出缓冲
ob_clean();
//解决chrome兼容性问题
header(
"Content-type:image/jpeg"
);
//输出图像到浏览器
imagejpeg($img) or die(
"创建图像失败<br/>"
);
//释放资源
imagedestroy($img);
?>
|
从远程获取图形
imageUrl.php
1
2
3
4
5
6
7
8
9
|
<?php
$img=imagecreatefromjpeg(
'https://b-ssl.duitang.com/uploads/item/201607/04/20160704052649_WLyfB.jpeg'
);
ob_clean();
header(
'Content-type:image/jpeg'
);
imagejpeg($img) or die(
'创建图形失败'
);
imagedestroy($img);
?>
|
生成二维码
vcode.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<?php
vcode(150,100);
//生成验证码
function vcode($width,$high){
//创建画布
$img=imagecreate($width,$high);
//设置背景色 黑色
$black=imagecolorallocate($img,0,0,0);
//设置画笔 白色
$white=imagecolorallocate($img,255,255,255);
//产生随机干扰线条
for
($i=0;$i<$width/20;$i++){
imageline($img,rand(0,$width),rand(0,$high),rand(0,$width),rand(0,$high),$white);
}
//产生随机干扰点
for
($i=0;$i<$width;$i++){
imagesetpixel($img,rand(0,$width),rand(0,$high),$white);
}
//产生4个随机字母,数字
$data=
''
;
for
($i=0;$i<4;$i++){
switch
(rand(1,3)){
case
'1'
:$ch=rand(0,9);
break
;
case
'2'
:$ch=sprintf(
'%c'
,rand(65,90));
break
;
case
'3'
:$ch=sprintf(
'%c'
,rand(97,122));
break
;
}
$data=$data.$ch;
}
//绘制truetype文字
imagettftext($img,$high/3,rand(1,15),$width*0.1,$high*0.7,$white,
'C:/Windows/Fonts/Arial.ttf'
,$data);
//清理缓存
ob_clean();
//解决chrome兼容性问题
header(
'Content-type:image/jpeg'
);
//输出到浏览器
imagejpeg($img) or die(
'创建画布失败'
);
imagedestroy($img);
}
?>
|
php与数据库mysql的连接
mysql.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php
//连接数据库
$host=
'localhost'
;
$username=
'root'
;
$password=
''
;
$database=
'my_db'
;
$conn=mysqli_connect($host,$username,$password,$database) or die(
'数据库连接失败!'
);
//echo '数据库连接成功!';
//操作数据库
$sql=
'select * from cartoon'
;
$result=mysqli_query($conn,$sql);
//读取返回信息
while
($obj=mysqli_fetch_assoc($result)){
echo $obj[
'name'
].
'现在'
.$obj[
'age'
].
'岁了。<br/>'
;
}
//关闭数据库连接
mysqli_close($conn);
?>
|
MySQL数据库面向对象编程
mysql_obj.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
// 创建连接
$conn =
new
mysqli(
'localhost'
,
'root'
,
''
,
'my_db'
)or die(
"连接失败: "
. $conn->connect_error);
if
($conn){
echo
"数据库连接<br/>"
;
}
//操作数据库
$sql =
"SELECT * FROM cartoon;"
;
$result=$conn->query($sql);
while
($row=$result->fetch_assoc()){
echo
"name:"
.$row[
'name'
].
"-country:"
.$row[
'country'
].
"<br/>"
;
}
/*
name:校长-country:中国
name:西门庆-country:中国
name:武大郎-country:中国
name:武松-country:中国
*/
//关闭连接
//$conn->close();
//$conn2=new mysqli('localhost','root','','my_db') or die('连接失败:'.$conn2->connect_error);
$sql2=
"SELECT * FROM cartoon;"
;
//sql语句一定要用双引号!!!
$result2=$conn->query($sql2);
//print_r($conn2->query($sql2));
while
($row2=$result2->fetch_assoc()){
echo
'name:'
.$row2[
'name'
].
',sex:'
.$row2[
'sex'
].
'<br/>'
;
}
$conn->close();
echo
"数据库关闭<br/>"
;
?>
|
cookie技术
cookie.php
cookie可以用于页面之间传值,没有设置有效时间,那么默认为浏览器关闭失效
这就是会话cookie,保存在内存中
(关闭页面不会失效,关闭浏览器才会失效)
cookie.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
//访问时间
echo
'访问时间<br/>'
;
if
(isset($_COOKIE[
'visittime'
])){
echo
'您上一次访问本网站是在:'
.$_COOKIE[
'visittime'
].
'<br/>'
;
echo
'本次访问时间是:'
.date(
'Y-m-d H:i:s'
).
'<br/>'
;
setcookie(
'visittime'
,date(
'Y-m-d H:i:s'
));
}
else
{
setcookie(
'visittime'
,date(
'Y-m-d H:i:s'
));
echo
'这是您第一次访问本网站<br/>'
;
}
//访问次数
echo
'访问次数<br/>'
;
if
(isset($_COOKIE[
'num'
])){
setcookie(
'num'
,$_COOKIE[
'num'
]+1);
echo
'这是您第'
.$_COOKIE[
'num'
].
'次访问本网站<br/>'
;
}
else
{
setcookie(
'num'
,1+1);
echo
'欢迎您首次访问本网站<br/>'
;
}
/*
访问时间
您上一次访问本网站是在:2018-09-16 05:09:22
本次访问时间是:2018-09-16 05:09:32
访问次数
这是您第2次访问本网站
*/
//删除cookie,有效时候为过去时间即可,time()-1
setcookie(
'num'
,1,time()-1);
echo
'$_COOKIE[num]已被注销<br/>'
;
print_r($_COOKIE);
//再一次刷新页面时才会生效!!!
?>
|
查看cookie
testcookie.php
1
2
3
4
5
6
7
8
|
<?php
//创建cookie
$sta=setcookie(
'testcookiename'
,
'testvalue'
,time()+60*60);
if
($sta){
echo
'Cookie设置成功!'
;
}
?>
|
chrome浏览器查看cookie
打开浏览器的设置》高级设置》
隐私设置/内容设置》所有cookie和网站数据
》找到你的网站名,以及cookie的名字,点击打开即可看到保存到cookie的内容。
session技术
session存储在服务器,更安全,没有长度限制
而cookie存储在客户机,客户可以禁用cookie
session可以用于跨页面请求,有一个随机生成的唯一的session_id
典型的应用就是购物车
session.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
/*
session技术
session存储在服务器,更安全,没有长度限制
而cookie存储在客户机,客户可以禁用cookie
session可以用于跨页面请求,有一个随机生成的唯一的session_id
典型的应用就是购物车
*/
//准备工作,设置php.ini的session.save_path="C:\xampp\tmp"
//启动会话
session_start();
//设置session
$_SESSION[
'name'
]=
'Peter'
;
$_SESSION[
'password'
]=
'12345'
;
echo
'Session 创建成功!<br/>'
;
/*打开服务器的session文件查看
name|s:5:"Peter";password|s:5:"12345";
*/
print_r($_SESSION);
//清空session,session文件只是清空
$_SESSION=array();
echo
'<br/>注销当前回话session<br/>'
;
print_r($_SESSION);
//销毁session文件,session文件会被删掉
session_destroy();
echo
'<br/>session已经彻底销毁<br/>'
;
print_r($_SESSION);
?>
|
查看session
如果销毁了session
文件上传
file_upload.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<html>
<form method=
'post'
enctype=
'multipart/form-data'
>
<input type=
'file'
name=
'upfile'
/>
<input type=
'submit'
value=
'上传'
/>
</form>
</html>
<?php
if
(!empty($_FILES)){
print_r($_FILES);
$tmpname=$_FILES[
'upfile'
][
'tmp_name'
];
//文件临时名
$name=$_FILES[
'upfile'
][
'name'
];
//文件原名
//文件会上传到与该页面文件同一个目录
move_uploaded_file($tmpname,$name) or die(
'文件上传失败,程序退出!'
);
echo
'<br/>文件上传成功!<br/>'
;
}
else
{
echo
'<br/>没有上传文件<br/>'
;
}
?>
|
ok,基本上php的内容学到这里,就可以了。