2014-09-05
今天要继续php9个超全局变量的系列,今天说一说$_FILE的用法.
首先呢,类似与$_POST等, $_FILES适用于上传文件类的input标签,$_FIFLES类似于一个二维数组,可以得到并保存客户端上传的文件的各种信息,具体如下:
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
所以,通过上面的这写变量便可以用于后台处理用户上传的文件了,例如只能上传图片类的,则可以通过$_FILES['myFile']['type']来限制,限制大小则可以通过$_FILES['myFile']['size'] 来指定,接下来,我以w3school上的例子来解释$_FILES的具体用法。
该demo主要实现的功能是上传图片类的文件并保存在服务器端的相关目录下。
html代码如下:
代码很简单,只是定义了一个上传控件,注意这个name对应的值‘file’是$_FILES获得前台文件的依据,若后台获得文件类型写成$_FILES['myFile']['type'],说明前台的name对应的值一定要为'myFile',不然会报Invalid file的错误。最后看一下后台的代码:
0){echo "Return Code: " . $_FILES["file"]["error"] . "
";}else{echo "Upload: " . $_FILES["file"]["name"] . "
";echo "Type: " . $_FILES["file"]["type"] . "
";echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";if (file_exists("upload/" . $_FILES["file"]["name"])){echo $_FILES["file"]["name"] . " already exists. ";}else{move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);echo "Stored in: " . "upload/" . $_FILES["file"]["name"];}}}else{echo "Invalid file";}?>
里面主要用到了explode(),end(),和in_array()三个主要函数,其用法我都做了注释解释,都很好理解,你看,用php实现上传一个文件是多么的简单,需要注意的一点是:文件被上传结束后,默认地被存储在了临时目录中,这个目录可以通过$_FILES['myFile']['tmp_name'] 来访问,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以本例当中用move_uploaded_files()函数将它复制到其它位置,此时,才算完成了上传文件过程。
最后,如果需要的话还是可以下载一下源码的,虽然很简单。
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
2014-09-05
PHP中的(++i)前缀自增 和 (i++)后缀自增
2014-09-05
php递归返回值的问题
2014-09-05
常用dos命令及语法
2014-09-27
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
2017-04-12
php 做权限管理
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
nginx,php日志分割
2014-09-05
解决ThinkPHP在Nginx下无法使用pathin方式的问题
2014-09-05
c语言新手入门代码
2022-03-22
动漫女孩官方版下载v1.0 安卓版
其它手游 38.4M
下载全民自行车特技手机版下载v1.1 安卓版
其它手游 262.0M
下载机甲勇者变形钢铁人版下载v1.0.1 安卓版
其它手游 10.2M
下载战争堡垒世界现代战争模拟游戏下载v 1.2 安卓版
其它手游 89.3M
下载奇妙小马美容化妆官方版下载v2.3 安卓版
其它手游 60.6M
下载吞噬进化游戏下载v1.0.0 安卓版
其它手游 41.4M
下载恐龙向前冲游戏下载v1.0.0 安卓版
其它手游 110.4M
下载成语拼拼拼红包版2022下载v3.6.4 安卓版
其它手游 32.2M
下载城市道路模拟驾驶游戏下载v300.1.0.3018 安卓版
下载
超级跑车游戏下载v1.0.0 安卓版
下载
真实巴士驾驶模拟器游戏下载v1.0 安卓版
下载
真实模拟地铁驾驶手机版下载v1.0 安卓版
下载
快刀忍者小游戏下载v1.0.0 安卓版
下载
超级万人迷手机版下载v1.0.1 安卓版
下载
转折的球球手机版下载v1.0.3 安卓版
下载
迷你城市大冒险游戏下载v1.0.1 安卓版
下载