php 无法上传大文件完善解决方案_.docx

上传人:PIYPING 文档编号:11633489 上传时间:2021-08-27 格式:DOCX 页数:7 大小:13.81KB
返回 下载 相关 举报
php 无法上传大文件完善解决方案_.docx_第1页
第1页 / 共7页
php 无法上传大文件完善解决方案_.docx_第2页
第2页 / 共7页
php 无法上传大文件完善解决方案_.docx_第3页
第3页 / 共7页
php 无法上传大文件完善解决方案_.docx_第4页
第4页 / 共7页
php 无法上传大文件完善解决方案_.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《php 无法上传大文件完善解决方案_.docx》由会员分享,可在线阅读,更多相关《php 无法上传大文件完善解决方案_.docx(7页珍藏版)》请在三一文库上搜索。

1、php 无法上传大文件完善解决方案_ php.ini无法上传大文件完善解决方法 1、打开php.ini(打开方式就不用说了,百度一大堆) 2、查找post_max_size 表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的 默认为8M,设置为自己需要的值,此参数建议要设置比upload_max_filesize大一些 3、查找File Uploads 是否允许通过http上传文件的开关,确认file_uploads = on 4、查找upload_tmp_dir 文件上传至服务器上存储临时文件的地方,假如没指定就会用系统默认的临时文件夹 假如系统报错提示有

2、“XXX临时名目XXX”的话,这个名目就需要你来设置一个有效名目,没报错就不用管 5、查找upload_max_filesize 允许上传文件大小的最大值,默认为2M,设置为自己需要的值此参数建议不要超过post_max_size值,由于它受控于post_max_size值(就算upload_max_filesize设置了1G,而post_max_size只设置了2M时,大于2M的文件照样传不上去,由于它受控于post_max_size值) 6、假如要上传大于8M的文件,还需要对下面的参数也进行设置: 查找max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒)

3、,默认30秒 max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒 memory_limit = 8M ;每个PHP页面所需要的最大内存,默认8M nginx法上传大文件完善解决方法 1.client_body_buffer_size 尽量设置的大点,这是基于速度的考虑,假如由于设置的过小,导致上传的文件老要写磁盘,那速度就太慢了。 2.client_body_temp_path 路径要有可写权限,这个是明显的错误了。改正了就好 3.client_max_body_size 设置上传文件的最大值,这个是基于平安的考虑,我们认为正常用户不会或者基本不会上传

4、太大的文件。 可以设置为client_max_body_size 100m; 或者根据自己的业务来设置这个值。 例子 nginx的配置。 代码如下: cd /export/servers/nginx/conf/nginx.conf,在这个配置文件里面的server段里面的 location / root html; index index.html index.htm; client_max_body_size 1000m; 加上了client_max_body_size 字段,怎么重启都不行。后来在总配置文件里面发觉了安排置文件: 代码如下: sendfileon; #tcp_nopush

5、on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; include domains/*; #include domains/chat.local; #include domains/; #include domains/; #include douains/; server listen 80; server_name localhost; 于是找到了安排置文件,在安排置文件里面进行修改。安排置文件配置如下: 代码如下: server listen 80; server_name ; # access_log /export/se

6、rvers/nginx/logs/; location / proxy_pass ; client_max_body_size 1000m; 用/export/servers/nginx/sbin/nginx -s reload重启下,上传文件的大小受限的问题就解决了。 分享下我的解决过程,盼望对大家有关心。 假如还是无法解决我们需要看看是不是php表单设置问题 这段代码分为两个文件,一个为upload.html,一个是upload.php upload.html 代码如下: form enctype=multipart/form-data action=upload.php method=p

7、ost input type=hidden name=max_file_size value=100000 input name=userfile type=file input type=submit value=上传文件 /form 其中, 请留意 这是一个标签,我们要实现文件的上传,必需指定为multipart/form-data,否则服务器将不知道要干什么。 值得留意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐蔽值域,通过设置其Value(值)可以限制上载文件的大小。 MAX_FILE_SIZE 的值只是对扫瞄器的一个建议,事实上它可以被简洁的绕过。因此不

8、要把对扫瞄器的限制寄盼望于该值。事实上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,由于它可以避开用户在花时间等待上传大文件之后才发觉该文件太大了的麻烦。 upload.php 代码如下: $f=$HTTP_POST_FILESMyfile; $dest_dir=uploads;/设定上传名目 $dest=$dest_dir./.date(ymd)._.$fname;/设置文件名为日期加上文件名避开重复 $r=move_uploaded_file($ftmp_name,$dest); chmod($dest, 0755);/设定上传的文件的属性 或者 ?copy($_FILESMyFiletmp_name,$_FILESMyFilename);? 以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可任意命名) 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1