【发布时间】: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 而不是<input type="file">用于大文件。 -
1) w3fools.com 2) 在对 php.ini 进行更改后,您是否重新启动了服务器
/etc/init.d apache2 restart -
达里尔...我觉得自己像个白痴。是的,重启服务器解决了这个问题。谢谢
-
至于 W3 的评论...我实际上使用的是 dropzone.js,我只是提到了 W3 学校以使其更简单,无论如何都是相同的概念。
-
@johnhannigan 我将提交此作为答案,因为这解决了您的问题
标签: php file-upload