您好,欢迎访问一九零五行业门户网

php上传文件的原理

文件上传原理
将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录
客户端配置
提交表单
表单的发送方式为post
添加enctype=multipart/form-data
服务器端配置(推荐学习:php编程从入门到精通)
file_uploads = on,支持http上传
uoload_tmp_dir = ,临时文件保存目录
upload_max_filesize = 2m,允许上传文件的最大值
max_file_uploads = 20 ,允许一次上传到的最大文件数
post_max_size = 8m,post方式发送数据的最大值
max_execution_time = -1,设置了脚本被解析器终止之前允许的最大执行时间,单位为秒,防止程序写的不好而占尽服务器资源。-1代表无穷
max_input_time = 60 ,脚本解析输入数据允许的最大时间,单位为秒
max_input_nesting_level = 64 ,设置输入变量的嵌套深度
max_input_vars_ = 1000,接受多少输入的变量(限制分别应用于$_get、$_post和$_cookie超全局变量,将会导致e_warning的产生,更多的输入变量将会从请求中截断。
memory_limit = 128m,最大单线程的独立内存使用量。也就是一个web请求,给予线程最大的内存使用量的定义
错误信息说明
upload_err_ok:其值为0,没有错误发生,文件上传成功
upload_err_ini_size:其值为1,上传的文件超过了php.ini中upload_max_filesize选项限制的值
upload_err_form_size:其值为2,上传文件的大小超过了html表单中max_file_size选项指定的值
upload_err_partial:其值为3,文件只有部分被上传
upload_err_no_file:其值为4,没有文件被上传
upload_err_no_tmp_dir:其值为6,找不到临时文件夹
upload_err_cant_write:其值为7,文件写入失败
upload_err_extension:其值为8,上传的文件被php扩展程序中断
客户端限制
通过表单隐藏域限制文件上传文件的最大值
<input type='hidden' name='max_file_size' value='字节数' />
通过accept属性限制上传文件类型
<input type='file' name='myfile' accept='文件的mime类型' />
在客户端的限制,用户可在网页上修改代码后上传,故无实际意义。应在服务器端加以限制
限制上传文件的大小
限制上传文件类型
检测是否为真实图片类型
检测是否为http post方式上传
以上就是php上传文件的原理的详细内容。
其它类似信息

推荐信息