@run182

Почему не работает функция move_uploaded_file()?

Пытаюсь загрузить файл на сервер, в ответ получаю:
Warning: move_uploaded_file(/var/www/***/data/www/***.ru/images/img2.jpg): failed to open stream: Permission denied in /var/www/***/data/www/***.ru/prolog.php on line 206 Warning: move_uploaded_file(): Unable to move '/var/www/***/data/mod-tmp/phpgvNiiP' to '/var/www/***/data/www/***.ru/images/img2.jpg' in /var/www/***/data/www/***.ru/prolog.php on line 206

Вот мой код, на другом домене он работал:
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/images/';
	$image = $uploaddir."img".$post["id"].".jpg";
	move_uploaded_file($files['image']['tmp_name'], $image);

А вот массив $_FILES:
Array
(
    [image] => Array
        (
            [name] => sl11.jpg
            [type] => image/jpeg
            [tmp_name] => /var/www/***/data/mod-tmp/phpgvNiiP
            [error] => 0
            [size] => 187020
        )

    [big_image] => Array
        (
            [name] => sl22.jpg
            [type] => image/jpeg
            [tmp_name] => /var/www/***/data/mod-tmp/php0rvmW3
            [error] => 0
            [size] => 253839
        )

)
  • Вопрос задан
  • 744 просмотра
Решения вопроса 1
@run182 Автор вопроса
Вопрос решился следующим образом:
PHP работал как модуль Apache, изменил на PHP как FastCGI
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@VovanZ
Permission denied

Очевидно, что у процесса php нет прав, чтобы записать файл туда, куда он пытается его записать.

Посмотрите, какому пользователю принадлежит эта папка (или этот файл, если он уже существует), посмотрите, какие разрешения стоят у этой папки/файла.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы