上传文件的method必须为post , enctype=”multipart/from-data” 二者缺一不可
doAction 中接收文件用_Files
$_FILES中有五个上传变量:
Array(
[name] => php笔记.docx
[type] =>
[tmp_name] =>
[error] => 3
[size] => 0)
移动上传文件函数 move_uploaded_file($tempName,url)
复制文件到指定路径 copy($tempName,url)
(1.) file_upload = on 支持http文件上传,否则文件上传不成功
(2.)upload_tmp_dir 临时文件保存的目录
(3.)post_max_size POST方式发送数据的最大值 默认为8M
(4.)upload_max_filesize 允许上传文件的最大值 默认为2M
(5.)max_file_uploads 允许以此上传的最大文件数 默认为20
(1)0 没有发生错误,文件上传成功
(2)1 上传的文件超过了php.ini中upload_max_filesize选项限制的值
(3)2 上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值
(4)3 文件只有部分被上传
(5)4 没有文件被上传
(6)6找不到临时文件
(7)7 文件写入失败
(8)8 上传的文件被PHP扩展程序中断
Pathinfo($fileName,$pathinfo_extension)获取文件拓展名函数
In_array($ext,$allowExt)判断$ext是否在数组$allowExt中
Is_uploaded_file($fileName)判断是否是通过HTTP POST方式上传的文件
Getimagesize($fileName)判断图片的类型 若为真则返回图片数组信息 否则返回false
File_exists($fileName)判断文件是否已经存在
Mkdir($fileName,0777,ture)创建名为fileName的文件给予其最大权限0777
Chmod($fileName,true)给这个文件授权
MD5($var)加密成MD5格式密文
Uniqid(mictotime(true),true)根据微秒时间生成唯一一个ID
Move_uploaded_file($fileName,$url)移动临时上传文件至路径url
Copy($fileName,$url)复制临时上传文件至路径url
is_set($var) 判断变量是否存在 存在返回TRUE不存在返回false
Array_fileter($array) 过滤数组中的空元素
Array_values($array) 将原数组中的元素取出重新排列一个数组 可以将过滤后的数组中心定义下标
Basename($url) 返回路径中的文件名部分
注意: 使用数组时尽量判断数组是否为空用empty($var)/isset($var)都可以 如果不判断的话容易出错
2文件下载
doAction: $filename=$__GET[‘filename’];
Header(‘content-disposition:attachment;filename=’.basename($filename));//告诉网页是以附件方式下载
Herder(‘content-length:’.filesize($filename));//告诉网页文件大小
Readfile($filename);