今天来浅谈下php通过input表单上传文件。
一、上传文件的一些基础知识点
注:通过input上传 enctype="multipart/form-data" 一定不能省
1、接收上传文件
$_FILES
输出上传文件的内容,是一个数组。其源代码如下:
print_r($_FILES);
其中各个参数如下:
// name 上传的文件原文件名,不代表文件,仅仅是字符串
// tmp_name 文件上传到服务器的临时的文件名,上传后的文件位于该位置,这个是文件【文件只会在这里保存一会,就会自动删除】
// type 上传的文件类型
// size 上传的文件大小
// error 上传的文件错误信息
2、判断上传文件类型
echo $_FILES['file']['type']; // ‘file’是对应的input name名,表单通过name获取value值
列:
// 1、要求只能上传图片类型 jpeg png gif
$type = $_FILES['file']['type'];
if($type == "image/jpeg" || $type == "image/png" || $type == "image/gif"){...}
// 2、要求只能上传 php类型
if($type == "text/php"){...};
3、文件拷贝 copy
// 原文件路径: $_FILES['file']['tmp_name'];
// 上传路径:$_FILES['file']['name']; 相对路径,可以给任意想要的路径
copy("原文件路径","上传路径");
3、将上传文件移动到新的位置 move_uploaded_file
// 本函数会检查并确保指定的文件是合法的上传文件(通过 PHP 的 HTTP POST 上传机制所上传的),才会上传[安全]
// 移动_上传_路径tmp
move_uploaded_file("原文件路径","上传路径");