我正在尝试使用Dropzone将图像上传到本地文件夹。但是,图像未加载(移动)到本地文件夹。这是拖放版本。
只需遵循教程中的代码即可。 我正在使用XAMPP,Windows 10和Chrome。 php.ini设置为上传文件。
表格:
class UserCreateAction extends BaseAction
{
private $userService;
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function __invoke(User $user)
{
return $this->userService->create($user);
}
}
初始化代码:
<!--dropzone form -->
<form action="uploads.php" class="dropzone" id="avatar-dropzone">
<div class="fallback">
<input name="file" type="file" />
</div>
</form>
该文件应该显示在名为“ uploads”的本地文件夹中,但此处没有文件。
我包括一个目录结构的图像,其中标记了相关的文件夹/文件:
uploads.php代码:
<script>
$(document).ready(function() {
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("#avatar-dropzone");
});
</script>
表单和初始化代码在views / users.php页面中。 项目文件夹中的上载文件夹 uploads.php位于admin文件夹中 js / css链接位于config / js和config / css
我可以拖动图像,但是没有其他反应。
答案 0 :(得分: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
的权限。
答案 1 :(得分:0)
尝试了上面的代码并发现它不起作用后,我查看了文件夹以确保链接到正确的文件夹。那时我发现我给文件命名错误。而不是uploads.php我有uploads.php。我纠正了这个问题,现在可以了。将保留两个版本的uploads.php代码以供参考。
感谢alex的帮助。