登陆 注册

PHP上传文件失败的解决方案

守望者 2020-03-22 455人围观 ,发现0个评论 php

    PHP上传文件测试用的源代码(a.html文件和a.php文件)在这篇文章里:https://tufeng.xyz/php/23.html

在用php上传文件时我们可能都碰见过这样的问题:


1. 文件上传了一部分,然后突然崩溃了,如下图:


PHP 上传文件时页面崩溃


2.文件上传临近末尾,然后突然控制台报错,如下图:


PHP上传文件名乱码



    下面,我来总结一下常见的几种解决方案:


1. form表单没有指定属性 enctype="multipart/form-data":

    如果你的form没有设定enctype属性或属性值设定成了其他属性值,这都是万万不行的,当form表单包含文件元素(<input type='file'>)时候

这就意味着我们将要上传二进制数据流,此时必须指定属性 enctype="multipart/form-data"


2. 上传的文件名是中文:

    这种极有可能文件名发生了乱码,从而解析出了非法字符,解决方案请参考文章:https://tufeng.xyz/php/23.html


3. 服务器端没允许文件上传:

     找到php.ini文件中的 file_uploads 参数,修改为 file_uploads = on


4. 服务器端对上传文件大小做出了限制,需要调大一些,具体修改php.ini文件

      a. 将upload_max_filesize参数调大一点

      b. 将upload_tmp_dir参数调大一点

      b. 将post_max_size参数调大一点 (文件数据也是form表单的一部分)


5. 服务器端对上传时间做出了限制,需要调大一些,具体修改php.ini文件

      

      a. 将max_execution_time 参数调大一点

      b. 将client_body_temp_path 参数调大一点

      b. 将client_max_body_size 参数调大一点 


  注:上传时间单位:秒, 对参数的调整视文件大小和网络状况而定:


     转载请附上本文链接:https://tufeng.xyz/php/24.html,谢谢合作!

请发表您的评论
请关注微信公众号
微信二维码