我使用PHP脚本将doc / docx / pdf上传到我的服务器。只要文件大小不超过1MB,我就不会对上传产生任何问题,但是当它大约1MB时,它根本就不会上传。
我将.htaccess中的值更新为以下内容:
php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300
php_value memory_limit 96M
日志文件中没有错误或警告。我使用以下代码上传文件:
$checkUpload = $_FILES["fileToUpload"]["name"];
$target_dir = realpath(dirname(__FILE__)) . "/uploads/";
$temp = explode(".", $_FILES["fileToUpload"]["name"]);
$newfilename = 'newfilename' . end($temp);
$target_file = $target_dir . $newfilename;
$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
if ($_FILES["fileToUpload"]["size"] > 500000) {
$uploadOk = 0;
}
if (($imageFileType != "pdf") && ($imageFileType != "doc") && ($imageFileType != "docx")) {
echo "wrong format!";
die();
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir . $newfilename)) {
} else {
echo "Sorry, there was an error uploading your file.";
}
}
我在更新后重新启动了apache并使用以下脚本检查了最大大小:
$max_upload = (int)(ini_get('upload_max_filesize'));
$max_post = (int)(ini_get('post_max_size'));
$memory_limit = (int)(ini_get('memory_limit'));
$upload_mb = min($max_upload, $max_post, $memory_limit);
echo $upload_mb;
以上确认最大尺寸为10M。我甚至没有考虑上传超过5MB的内容,也无法弄清问题是什么。
E:我改变了php.ini中的值,但它仍然不起作用。我在debian 8上使用PHP 7.0和apache 2.4。
E2:我尝试使用WordPress插件(Caldera Forms)上传文件,经过几次战斗,这似乎是通过常规上传文件夹(即使是4MB文件)。问题是,我不认为使用插件是一种解决方案,我想了解为什么我不能这样做。
我目前收到以下警告:
PHP警告:move_uploaded_file():无法移动' / tmp / phpThmBZJ' to' /var/www/mywebsite.com/uploads/form_uploads/1234.doc'在第85行的/var/www/mywebsite.com/public_html/wp-content/themes/mytheme/add_file.php中,引用者:http://mywebsite.com/
它会建议许可问题,但是:
更新:自从我开始收到上述警告后,我甚至无法上传小文件。
感谢您的帮助, 即