PHP文件上传配置
php.ini中和文件上传相关的配置
-fiile_uploads:是否允许通过php上传文件,默认为ON
– upload_tmp_dir:上传文件在处理之前必须先上传到服务器上的某个临时目录,此目录由此参数决定,再将上传的文件转移到最终目的地,此目录需要有读写的权限,通常状态下我们不需要更改这个配置,一因为会有一个默认的临时目录。
-max_input_time:对POST/GET/PUT方式接受数据的时间限制,单位是s
-max_execution_time:等待脚本执行完毕的最大时间,单位s,此配置可终止PHP脚本中可能出现死循环,但如需上传大文件的时候,此配置数值不能过小,否则可能导致文件上传为完成而被强制终止。
-upload_max_filesiize:允许上传文件了的最大值,默认为2MB
-post_max_siize:控制采用POOST方式进行表单提交时,PHP允许如接受的最大数据量,单位MB,由于POST数据中出了文件外可能包含其他表单域的数据,所以应该设置一个大于upload_max_filesize的值。
-memory_limit:PHP的内存使用上限,,避免正在运行的脚本过量使用系统资源,由于上传时内存处理的数据中出了POST数据外可能包含其他的数据,所以应该设置一个大于post_max_size的值。
所以综上所述的大小关系:
PHP文件上传的错误处理
文件被PHP上传以后所有的相关信息都存放在$_FILES(是超级全局变量),文件上传的错误也在其中,这些错误的名称都被定义成了常量,这些常量都被设置成了数字。
$_FILES[filesname][error]
-UPLOAD_ERR_OK:上传成功(0)
-UPLOAD_ERR_INII_SIZE:上传文件超出upload_max_fiilesize限制(1)
-UPLOAD_FORM_SIZE:上传文件超出post_max_size限制(2)
-UPLOAD_ERR_PARTIAL:因为网络错误导致文件上传不完整(3)
-UPLOAD_ERR_NO_FILE:表单文件域未选中上传的文件(4)