【问题标题】:Upload not saving large files上传不保存大文件
【发布时间】:2013-04-26 02:29:50
【问题描述】:

我正在尝试创建一个上传表单,但它不会保存大文件,也不会出现任何错误。

我不知道确切的限制在哪里,但是 65kb 的图像可以很好地保存,而 4mb 的图像则不能。对于较大的文件,上传文件夹只是空的。我可以验证它正在上传并查看发送的请求...但是服务器上传文件夹仍然是空的。

这是我的上传脚本:

<?php
$ds = DIRECTORY_SEPARATOR; 
$storeFolder = 'uploads';  
if (!empty($_FILES)) { 
    $tempFile = $_FILES['file']['tmp_name'];               
    $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;  
    $targetFile =  $targetPath. $_FILES['file']['name'];  
    move_uploaded_file($tempFile,$targetFile);    
}
?>   

以下是我在 php.ini 中的相关设置:

max_input_time = -1
memory_limit = 1500M
post_max_size = 1500M
file_uploads = On
upload_max_filesize = 1500M
max_file_uploads = 100
allow_url_fopen = On

这仅供内部使用,如果您想知道奇怪的设置。就我的实际上传页面而言,它只是一个从 W3 学校截取的简单 html。

这是在 Ubuntu 服务器上的 Apache 上运行的。该脚本似乎在 Windows WAMP 设置中运行良好。另外,目录的权限是正确的。

【问题讨论】:

  • upload_max_filesize = 1500M ?你信任 W3schools 吗?尝试使用上传库,例如swfupload 而不是 &lt;input type="file"&gt; 用于大文件。
  • 1) w3fools.com 2) 在对 php.ini 进行更改后,您是否重新启动了服务器 /etc/init.d apache2 restart
  • 达里尔...我觉得自己像个白痴。是的,重启服务器解决了这个问题。谢谢
  • 至于 W3 的评论...我实际上使用的是 dropzone.js,我只是提到了 W3 学校以使其更简单,无论如何都是相同的概念。
  • @johnhannigan 我将提交此作为答案,因为这解决了您的问题

标签: php file-upload


【解决方案1】:

编辑完您的 php.ini 后,您必须重新加载/重新启动您的 apache 服务器以进行所有更改。从命令行发出以下命令之一:

/etc/init.d/apache2 restart 
service apache2 restart

/etc/init.d/apache2 reload
service apache2 reload

4 个中的任何一个都可以;最好是重启选项

【讨论】:

    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2017-12-14
    • 2015-10-19
    • 1970-01-01
    • 2019-08-02
    相关资源
    最近更新 更多