我试图做的是使用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的本地文件夹中,但此处不显示任何文件。
我包含目录结构的图像,其中包含相关的文件夹/文件:
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代码。我会做一些修改:
...
$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
的权限。
尝试了上面的代码,发现它不起作用,我查看了文件夹,以确保我链接到正确的。就在那时我发现我错误地命名了这个文件。而不是uploads.php我上传了..php。我纠正了这个,它现在有效。将保留uploads.php代码的两个版本以供参考。
感谢alex的帮助。