Предупреждение: move_uploaded_file(); не удалось открыть поток

#php #file #move

#php #файл #переместить

Вопрос:

Я пытаюсь загрузить изображение с помощью move_uploaded_file();

 $target_dir = "product_images/";
$target_file = $target_dir . basename($_FILES["product_image"]["name"]);
if (move_uploaded_file($_FILES["product_image"]["tmp_name"], $target_file)) { // Line 92
    echo "<script>alert('The file " . basename( $_FILES["product_image"]["name"]) . " has been uploaded.')</script>";
} else {
    echo "<script>alert('Sorry, there was an error uploading your file.')</script>";
    die();
}
  

Поэтому, когда я пытаюсь выполнить этот код, я получаю эту ошибку:

 Warning: move_uploaded_file(product_images/img_forest.jpg): failed to open stream: Permission denied in /opt/lampp/htdocs/suvenirshop/admin_area/insert_product.php on line 92

Warning: move_uploaded_file(): Unable to move '/opt/lampp/temp/phpZEJdEV' to 'product_images/img_forest.jpg' in /opt/lampp/htdocs/suvenirshop/admin_area/insert_product.php on line 92
  

Я использую xampp в Linux, я также пробовал этот код на ПК с Windows и Mac, где я получаю ту же ошибку.
Я должен упомянуть, что у меня есть папка product_images в папке, где я хранил insert_product.php который выполняет этот код.

Комментарии:

1. Permission denied проверьте разрешения для product_images

2. Спасибо, что сработало, я изменил разрешения для папки, чтобы все было доступно для чтения и записи, и теперь это работает

Ответ №1:

Попробуйте предоставить разрешение на запись в папку product_images . В терминале перейдите к папке, в которой product_images папка, созданная cd командой, а затем chmod a w product_images командой в системах Linux