Я получаю ошибку:
Предупреждение: move_uploaded_file (/var/www/html/images/content/1485397694.JPG): не удалось открыть поток: доступ запрещен в /var/www/html/content/admin.blog.edit.php в строке 48
Когда я пытаюсь загрузить изображение.
Папка / 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
Тот факт, что ваш файл / images может иметь правильные разрешения, не обязательно означает, что файл / images / content, к которому вы, похоже, перемещаете изображение, имеет правильные разрешения. Попробуйте напрямую изменить папку, в которую вы перемещаете файлы, а не только родительский.
Ты тестируешь
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;
}
следует переместить в пункт, где файлы существуют.