move_uploaded_file(booksPreviews/0.61426800 1565946100.): failed to open stream: Permission denied in

109
03 июня 2021, 00:10

есть такая форма

<form action="" method="post" enctype="multipart/form-data"> 
  <div id="bookAvatarWrapper"> 
    <label id="forPreviewe" for="prevHide">Загрузить обложку</label> 
    <!-- ДОБАВИТЬ ПРЕВЬЮ --> 
    <input type="file" class="hide" id="prevHide" name="addPreview"> 
    <img src="images/leather_texture404.jpg" id="previeweImg"> 
  </div> 
  <div id="bookAddWrapper"> 
    <!-- НАЗВАНИЕ --> 
    <input name="nameBook" type="text" placeholder="Название книги" class="inputBook"><br><br> 
    <!-- ОПИСАНИЕ --> 
    <textarea name="descrBook" id="" cols="30" rows="10" placeholder="Описание вашей книги"></textarea> 
 
    <label id="forAddBookToForm" for="bookHide">Книга</label> 
    <!-- КНИГА --> 
    <input type="file" class="hide" id="bookHide" name="addBookToForm"> 
    <!-- ОК --> 
    <input type="submit" value="Ок" id="addNewBook" class="inputBook" name="doneNewBook"> 
  </div> 
</form>

  if(isset($_POST['doneNewBook'])){
    $bookPreview = $_FILES['addPreview'];
    $bookName = $_POST['nameBook'];
    $bookDescr = $_POST['descrBook'];
    $uploadBook = $_FILES['addBookToForm'];
    if(isSecurityBook($uploadBook)){
        if (isSecurityPrev($bookPreview)) {
            $typeBook = $bookPreview['type'];
            $uploaddirBook = "books/";
            $nameBook = md5(microtime()).".".substr($type, strlen("text/"));
            $uploadfileBook = $uploaddirBook.$nameBook;
            $typePrev = $prev['type'];
            $uploaddirPrev = "booksPreviews/";
            $namePrev = microtime().".".substr($type, strlen("image/"));
            $uploadfilePrev = $uploaddirPrev.$namePrev;   
            if(move_uploaded_file($bookPreview["tmp_name"], $uploadfilePrev)){
                if(move_uploaded_file($uploadBook["tmp_name"], $uploadfileBook)){
                    $mysqli->query("INSERT INTO `books` (`name`, `description`, `preview`, `author`, `download`) VALUES ('$bookName', '$bookDescr', '$uploadfilePrev', '$login', '$uploadfileBook');");
                }                    
            }          
        }else $errors[] = 'обложка не безопасна';
        if (!bookFunc($uploadBook)) $errors[] = 'Ошибка при загрузке книги!';        
    } else $errors[] = 'файл не безопасен';

на функции isSecurity не обращайте внимания.

move_uploaded_file выдает ошибку:

move_uploaded_file(booksPreviews/0.61426800 1565946100.): failed to open stream: Permission denied и move_uploaded_file(): Unable to move 'W:\userdata\temp\phpA241.tmp' to 'booksPreviews/0.61426800 1565946100.'

т.е. отказано в доступе. Но почему. Точно по такому же принципу я реализовал загрузку аватарок на сайт.

в свойстве папки есть пункт атрибуты, в нем стоит галочка на только чтение, но снять ее не получается, после каждого снятия, она появляется сама

Answer 1

УРА, у меня получилось! Я включил error_reporting(E_ALL); и оказалось, что я в формировании типа, названия использовал неверные переменные. спасибо, E_ALL

READ ALSO
Как правильно массово загрузить файлы в форме?

Как правильно массово загрузить файлы в форме?

Всем приветНужно загружать 3 файла в форме, они хранятся в отдельной таблице

106
Как в java получить все числа месяца?

Как в java получить все числа месяца?

Всем доброго времени суток! Например, у меня на входе есть String date = "052018" (май 2018)

276
Проблема SSL Android

Проблема SSL Android

У меня есть проблемаЯ настроил на сервере ларавел на порту 8080

106
Java альтернативная RLE-распаковка

Java альтернативная RLE-распаковка

Есть метод, осуществляющий распаковку строки а-ля 2AB3C в AABCCC

109