Dropzone не загружает файл в локальную папку - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь сделать, это загрузить изображение в локальную папку, используя Dropzone. Однако изображение не загружается (перемещается) в локальную папку. Это версия для перетаскивания.

Просто следовал коду из учебника. Я использую XAMPP, Windows 10 и Chrome. php.ini настроен для загрузки файлов.

Форма:

<!--dropzone form -->
<form action="uploads.php" class="dropzone" id="avatar-dropzone">
     <div class="fallback">
      <input name="file" type="file" />
     </div>
</form>

Код инициализации:

  <script>

    $(document).ready(function() {
        Dropzone.autoDiscover = false;
        var myDropzone = new Dropzone("#avatar-dropzone");
    });

  </script>

Файл должен появляться в локальной папке с именем uploads, но здесь нет файлов.

Я включил изображение структуры каталогов с соответствующими папками / файлами, помеченными:

структура каталогов

Код uploads.php:

<?php
    $ds = DIRECTORY_SEPARATOR;

    $storeFolder = '../uploads'; 

        if (!empty($_FILES)) {

            $tempFile = $_FILES['file']['tmp_name'];             

            $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;

            $targetFile =  $targetPath. $_FILES['file']['name'];

            move_uploaded_file($tempFile,$targetFile);

       }

?>

Форма и код инициализации находятся на странице views / users.php. Папка загрузки в папке проекта Uploads.php находится в папке администратора Ссылки js / css находятся в config / js & config / css

Я могу перетащить изображение, но больше ничего не происходит.

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Попробовав приведенный выше код и обнаружив, что он не работает, я посмотрел на папки, чтобы убедиться, что я ссылаюсь на правильный.Тогда я обнаружил, что неправильно назвал файл.Вместо uploads.php у меня были uploads ..php.Я исправляю это, и теперь это работает.Сохранит обе версии кода uploads.php для справки.

Благодарю Алекса за помощь.

0 голосов
/ 24 марта 2019

Вам просто нужно отладить свой PHP-код.Я бы сделал несколько модификаций:

    ...
    $storeFolder = dirname( __DIR__ ).'/uploads/'; 

    if (!empty($_FILES)) {

        $tempFile = $_FILES['file']['tmp_name'];             

        //$targetPath =  $storeFolder; // <-- we don't need this line anymore

        $targetFile =  $storeFolder . $_FILES['file']['name'];

        die($targetFile); // <-- just debug if your filename is correct and if you ever reach this point.
   ...

Еще одна вещь, которую нужно проверить - это разрешения на $storeFolder.

...