Я пишу скрипт в php для загрузки файла на сервер. И код следующий ..
$target_path = "uploaded_images/"; $target_path = $target_path . basename( $_FILES['image']['name']); if(move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['image']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; }
Но функция move_uploaded_file () не работает и дает следующую ошибку.
Warning: move_uploaded_file(uploaded_images/Mordent.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpOWVz7o' to 'uploaded_images/Mordent.jpg'
Я проверил все разрешения на папки и даже безопасный режим в php.ini отключен.
Пожалуйста, помогите мне, мне нужно, чтобы это было срочно сделано.
Не используйте здесь относительный путь ( uploaded_images/Mordent.jpg
). Не всегда очевидно, что рабочий каталог PHP (который он будет использовать, чтобы превратить относительный путь в абсолютный).
Если каталог, в котором вы пытаетесь переместить изображения, находится в том же каталоге, что и ваш скрипт, укажите $target_path
как:
$target_path = __DIR__ . '/uploaded_images/';
Часть __DIR__
дает вам абсолютный путь к каталогу, в котором находится ваш текущий скрипт, затем вы добавляете к нему «относительную» часть.
Ваш код отлично подходит … просто измените разрешения каталога, в котором вы перемещаете загруженные файлы
Как и 0777 для всех разрешений на чтение и запись, вы можете сделать это вручную или изменить его с помощью php