我收到错误:
警告:move_uploaded_file(/var/www/html/images/content/1485397694.JPG):无法打开流:第48行/var/www/html/content/admin.blog.edit.php中的权限被拒绝
当我尝试上传图片时。
/ var / www / html / images文件夹具有权限777,但它仍然无法解决此问题。我现在搜索了几个小时但又无法进一步了。
$newfilename = round(microtime(true)).'.'.end($temp);
if (file_exists("/var/www/html/images/content/".$newfilename)) {
$file_exists = 1;
} else {
if (!move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/html/images/content/".$newfilename)) {
$upload_failed = 1;
}
}
这是ps aux | grep httpd:
root 836 0.0 1.4 628300 28116 ? Ss 04:02 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1048 0.0 0.5 628564 10216 ? S 04:02 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1052 0.0 0.7 631208 14260 ? S 04:02 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1168 0.0 0.7 631392 14592 ? S 04:02 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1169 0.0 0.4 628436 9780 ? S 04:02 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1234 0.0 0.4 628436 9780 ? S 04:13 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1235 0.0 0.6 631360 13428 ? S 04:13 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1236 0.0 0.6 631208 13544 ? S 04:13 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1237 0.0 0.6 631180 13996 ? S 04:13 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1288 0.0 0.4 628436 9780 ? S 04:17 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1298 0.0 0.4 628300 8812 ? S 04:20 0:00 /usr/sbin/httpd -DFOREGROUND
root 1303 0.0 0.0 112668 964 pts/1 R+ 04:24 0:00 grep --color=auto httpd
答案 0 :(得分:1)
仅仅因为您的/ images文件可能具有正确的权限并不一定意味着您正在将图像移动到的/ images / content文件具有正确的权限。尝试直接更改要将文件移动到的文件夹,而不仅仅是父级旧文件夹。
答案 1 :(得分:0)
您正在测试
file_exists("/var/www/html/images/content/".$newfilename)
然后尝试在文件不存在时移动它。错误在您的条件逻辑中。试图移动,
if (!move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/html/images/content/".$newfilename)) {
$upload_failed = 1;
}
应将移动到文件所在的子句。