Dropzone无法将文件上传到本地文件夹

问题描述 投票:0回答:2

我试图做的是使用Dropzone将图像上传到本地文件夹。但是,图像未加载(移动)到本地文件夹。这是drop&drag版本。

只需按照教程中的代码。我正在使用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的本地文件夹中,但此处不显示任何文件。

我包含目录结构的图像,其中包含相关的文件夹/文件:

directory structure

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页面中。项目文件夹中的upload文件夹uploads.php位于admin文件夹中js / css链接位于config / js&config / css中

我可以拖动图像,但没有其他任何事情发生。

php html dropzone
2个回答
0
投票

你只需要调试你的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的权限。


0
投票

尝试了上面的代码,发现它不起作用,我查看了文件夹,以确保我链接到正确的。就在那时我发现我错误地命名了这个文件。而不是uploads.php我上传了..php。我纠正了这个,它现在有效。将保留uploads.php代码的两个版本以供参考。

感谢alex的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.