В доступе отказано с помощью move_uploaded_file ();

Я получаю ошибку:

Предупреждение: 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

-1

Решение

Тот факт, что ваш файл / images может иметь правильные разрешения, не обязательно означает, что файл / images / content, к которому вы, похоже, перемещаете изображение, имеет правильные разрешения. Попробуйте напрямую изменить папку, в которую вы перемещаете файлы, а не только родительский.

1

Другие решения

Ты тестируешь

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;
}

следует переместить в пункт, где файлы существуют.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector