php上传文件失败解决方式是什么

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入门教程》

立即学习“PHP免费学习笔记(深入)”;

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

第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上传文件失败解决方式是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2524820.html

(0)
上一篇 2025年3月5日 18:00:01
下一篇 2025年3月5日 18:00:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php是一种什么的编程语言

    php(“php: hypertext preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 html中,尤其适合 web 开发。 PHP 代码被包含在特殊的起始符和结束符 中,使得…

    2025年3月5日
    200
  • php网站开发是什么意思

    网站开发是制作一些专业性强的网站,比如说动态网页。asp、php、jsp网页。而且网站开发一般是原创,网站制作可以用别人的模板。 网站开发字面意思比制作有更深层次的进步,它不仅仅是网站美工和内容,它可能涉及到域名注册查询、网站的一些功能的开…

    2025年3月5日
    200
  • php上传文件怎么获取文件名

    php上传文件怎么获取文件名?具体方法如下: 相关推荐:《php入门教程》 用file类型的input上传这个图片后,就将图片上传到你服务器的临时目录了,并且将文件相关的信息存在了_FILE这个参数里, 1024*600 ){exit(’图…

    2025年3月5日
    200
  • php是什么开发语言

    php即“超文本预处理器”,是一种通用开源脚本语言。php是在服务器端执行的脚本语言,与c语言类似,是常用的网站编程语言。 PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。…

    2025年3月5日
    200
  • php上传的图片如何显示

    php上传的图片如何显示?步骤如下: 1、创建数据表 2、用于上传图片到服务器的页面upimage.html 立即学习“PHP免费学习笔记(深入)”; 相关推荐:《php入门教程》 3、图片上传的upimage.php文件 4、显示图片的g…

    2025年3月5日 编程技术
    200
  • php是解释型语言吗

    php是属于解释型语言,还是编译型语言?下面先来看一下计算机语言的发展史: 第一代:机器语言,全部都是01010二进制代码,计算机能够直接的识别,运行效率是最高的,但是难编,难记,难区分,可移植性差! 第二代:汇编语言,其实就是符号化的机器…

    2025年3月5日
    200
  • php上传大视频上传不了怎么办

    一、环境: CentOS 6.8 nginx 1.8.0 php 7.0.10 二、背景 立即学习“PHP免费学习笔记(深入)”; 基于 nginx + php 的 h5 项目,上传视频的时候,如果视频太大,会上传失败。 相关推荐:《php…

    2025年3月5日
    200
  • php用for循环10行10列怎么写

    php用for循环10行10列怎么写? php用for循环实现10行10列的表格: 代码如: <?php echo "”;for ($row=1; $row  “;    for ($col=1; $col $p “;   …

    2025年3月5日
    200
  • php扫码登录如何实现

    php微信公众号扫码模拟登录功能 功能只是将:https://github.com/huanz/wechat-mp-hack 改成PHP实现罢了。 主要流程如下: 1、先访问https://mp.weixin.qq.com/,模拟登录,进入…

    2025年3月5日
    200
  • php如何用循环输出菱形

    思路: (1)写出代码打印实心的金字塔。 (2)修改代码,把金字塔抛空。 (3)修改代码,把金字塔倒转。 (4)修改倒转后的代码,把金字塔抛空。 立即学习“PHP免费学习笔记(深入)”; (5)修改代码,把具体的数进行参数化。 1、写出代码…

    2025年3月5日
    200

发表回复

登录后才能评论