php 无法上传大文件怎么办

作者:神秘网友 发布时间:2021-02-28 09:39:24

php 无法上传大文件怎么办

php无法上传大文件的解决办法:1、开启临时文件并对该文件夹设置写入的权限;2、增加“max_execution_time”的值;3、设置“file_uploads”的值为on;4、设定“upload_max_filesize=20M”等。

php 无法上传大文件怎么办

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php上传大文件失败的原因及应对策略

为什么上传大文件总是失败,但是上传小文件就没有问题。小编也不得其解,网上搜其原因,整理了一篇关于php上传大文件失败的原因和解决办法的文章,分享给大家。

下面分别是各种原因以及解决办法:

第1种情况:文件上传时存放文件的临时目录必须是开启的并且是 PHP 进程所有者用户可写的目录。如果未指定则 PHP 使用系统默认值。

php.ini文件中upload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文件,得保证服务器没有关闭临时文件并对该文件夹有写入的权限。

第2种情况:max_execution_time 的值必须足够大。变量 max_execution_time 设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算。当脚本进入了一个无限循环状态时此变量非常有用。然而,当存在一个需要很长时间完成的合法活动时(例如上传大型文件),这项功能也会导致操作失败。在这样的情况下必须考虑将此变量值增大,以避免PHP在脚本正在执行某些重要过程的时候将脚本关闭,例如设置为 90 秒。

max_execution_time = 90

注意在php函数中还有个set_time_limit 函数,和以上这个设置的作用是相同的,这两者的区别就是 以上是在 php.ini 文件中设置的,而set_time_limit 是写在php文件中的。所以也可以通过在页面中用 set_time_limit 设置程序的最长执行时间,比如无限制即:set_time_limit(0);

【推荐学习:《PHP视频教程》】

第3种情况:file_uploads = On 默认值为on,意思是允许通过 HTTP 进行文件上传,此选项不能设置为OFF。

第4种情况:upload_max_filesize = 2M 设定文件上传的大小的最大值,php.ini配置文件中的默认文件上传大小为2M,php初学者容易犯的一个错误是在编写文件上传功能时通过设置上传文件最大大小的表单区域,即允许上传文件的最大值,max_file_size(隐藏值域)的值来规定上传文件的大小,其实一般别人可以绕过这个值,所以安全起见,最好是在 php.ini 配置文件中配置 upload_max_filesize 选项,设定文件上传的大小。默认 upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。

第5种情况:post_max_size 这个值也必须足够大。这个变量也是一个同表单提交相关的变量,它限制的是客户端通过POST方法进行一次表单提交时PHP程序所能够接收的最大数据量。一般情况下,将此值的值设置的比 upload_max_filesize 略大即可,比如要上传20MB的文件,此值可以设置为 21MB。

第6种情况:max_input_time 此变量可以以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制。如果应用程序所运行环境处在网络比较慢的情况下,则需要增加此值以增大接收数据所需要的时间,比如将此值设置为 90秒。

max_input_time = 90

第7种情况:memory_limit 也必须足够大,为了避免正在运行的脚本大量使用系统可用内存,PHP允许定义内存使用限额。通过memory_limit变量来指定单个脚本程序可以使用的最大内存容量。变量memory_limit的值应当适当大于post_max_size的值。

第8种情况:另外如果你的主机是 nginx 操作系统的话,如果以上操作都不行的话,记得在nginx 的配置文件里面加上 client_max_body_size 20m; 这样一句,即表示最大允许上传20MB,具体根据自己的情况来。我的nginx 配置文件的位置在 /usr/local/nginx/conf/nginx.conf。

阅读完这篇文章大家应该大概知道大文件上传失败的原因了吧,希望本文可以为大家提供一些思路,更好的去解决类似问题。

php 无法上传大文件怎么办的教程已介绍完毕,更多请关注跳墙网其他文章教程!

php 无法上传大文件怎么办 相关文章

  1. php文件gbk怎么转utf8

    php文件gbk转utf8的方法:首先建立存放转换后文件的目录;然后建立对应的文件夹;最后通过“-exec iconv -f GBK -t UTF-8 {} -o utf8/...”方法转换php文件即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 将PHP文件GBK转为UTF-8 gbk转换为utf8 [

  2. php addslashes 转义的方法

    php addslashes转义的方法:首先创建一个PHP示例文件;然后定义一个字符串;最后通过“addslashes($str)”向字符串中的预定义字符添加反斜杠即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 addslashes定义和用法 addslashes() 函数返回在预定义

  3. php怎么去掉字符串前几位

    php去掉字符串前几位的方法:首先创建一个PHP示例文件;然后定义一个字符串;最后通过“substr($str, 4);”语句删除字符串的前4个字符即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 用PHP删除字符串的前4个字符? 可以使用该substr函数从第5个

  4. php怎么去掉字符串中空格

    php去掉字符串中空格的方法:1、使用正则表达式删除字符串中间的空格及去除字符串首尾空格;2、使用str_replace和strtr函数删除字符串中间的空格;3、使用trim函数去除一个字符串两端空格。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 php中3种方法

  5. php header什么意思

    php header是php中的一个http函数,用于向客户端发送原始的HTTP报头,其使用语法是“header(string,replace,http_response_code)”,其中参数string规定要发送的报头字符串。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 php header() 函数向客户端

  6. php header怎么隐藏php信息

    php header隐藏php信息的方法:首先找到并打开php.ini配置文件;然后将“expose_php=On”改为“expose_php=Off”即可。 本文操作环境:windows7系统、php7.0.12版,DELL G3电脑 隐藏header中的php信息 在默认没有隐藏php的版本的情况下在header可以看到php的

  7. php函数chmod怎么设置

    php函数chmod设置的方法:首先创建一个PHP示例文件;然后通过语法“chmod(test.txt,0600);”设置指定文件的权限是所有者可读写,其他人没有任何权限即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 chmod() 函数改变文件模式。 如果成功则返回 TR

  8. php怎么移除数组中的某个值

    php移除数组中的某个值的方法:1、利用foreach和unset函数删除数组中的特定元素;2、利用array_flip函数和unset函数删除数组中的特定值;3、利用array_search和unset函数删除数组中的特定值等等。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 php删

  9. php json解析不出来怎么办

    php json解析不出来的解决办法:首先切换到相应的项目目录;然后在Linux下查找包含BOM头的文件和清除BOM头命令并执行相关命令即可。 本文操作环境:linux5.9.8系统、PHP7.1版,DELL G3电脑 PHP接口返回json字符串时无法正常解析 这两天在调试一个接口时,在

  10. php怎么只保留汉字

    php只保留汉字的实现方法:首先创建一个PHP示例文件;然后通过mb_convert_encoding进行转码;最后通过preg_match_all实现过滤掉非汉字字符只保留中文字符即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 PHP实现过滤掉非汉字字符只保留中文字符 ?

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词