php – dropzone.js没有将文件移动到上传文件夹

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – dropzone.js没有将文件移动到上传文件夹脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用dropzone.js,上传插件PHP.我正在尝试使用dropzone show success Icon和打印图像预览,但它没有将我的图像上传上传目录.我怎样才能解决这个问题?

HTML

<div class="dropzone dropzone-previews" id="my-awesome-dropzone">
  <form action="<?PHP echo SITE.'/controller/'?>upload.PHP"></form>
  <div class="fallback">
    <input name="file" tyPE="file" multiple />
  </div>
</div>

JS:

<script>
    $(document).ready(function(){
    Dropzone.options.myAwesomeDropzone = { // The camelized version of the ID of the form element
    // The configuration we've talked about above
    url: '<?PHP echo SITE.'/controller/'?>upload.PHP',PReviewsContainer: ".dropzone-previews",uploadMultiple: true,parallelUploads: 100,maxFiles: 100
  }

 });
</script>

PHP

<?PHP
$ds          = DIRECTORY_SEPARATOR;  //1

$StoreFolder = '../../uploads/news/';   //2

if (!empty($_FILES)) {

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

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

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

    move_uploaded_file($tempFile,$targetFile); //6

}
?>

解决方法

解决此问题需要2件不同的东西.

在我看来,你正在使用http://www.startutorial.com/articles/view/how-to-build-a-file-upload-form-using-dropzonejs-and-php开始使用dropzone.根据您的操作系统,您将需要更改您的文件权限,即使该页面上的注释线程表明它在本地工作.对于所有AMP堆栈甚至在不同的堆栈版本/分发中都不是这样.

第一

确保正确设置上载路径的权限.某些文件夹(例如tmp psuedo文件夹,没有此问题,但用户创建的端点可能.如果您使用特定的操作系统/堆栈名称更新您的问题,我将使用必要的具体步骤更新此答案.

第二

将enctype = multipart / form-data属性添加到表单标记.

重要

关于Marc B提出的主题,我想指出本教程只是一个起点,如果没有某种验证和安全性,不应上传到任何可公开访问的环境.基本的安全性就是这样,只允许上传某些扩展(可以在服务器端完成,也可以在dropzone.js初始化中配置),并添加一个CSRF token.下面是一些建议的dropzone选项配置设置,以至少加强客户端验证:

VAR unique = "some-unique-string";
var accepteDFileTypes = "image/*"; //dropzone requires this param be a comma separated list

Dropzone.options.myAwesomeDropzone = { 

  // your other settings as listed above
  maxFiles: 10,// allowing any more than this will stress a basic PHP/MysqL stack
  paramName: unique,headers: {"MyAppname-Service-type": "Dropzone"},acceptedFiles: acceptedFileTypes

}

还有一些基于以上内容PHP注意事项

>您需要添加一个检查以确保自定义标头位于请求中(这只是一个简单的安全步骤>使用PHP添加一个检查以确保文件具有可接受的类型(无论服务器端验证如何,您总是应该这样做)>我建议您在使用PHP验证之前将所有文件名转换为小写>编辑:你还需要确保改变你的PHP $_FILES [‘file’]来匹配dropzone paramName选项配置的唯一字符串..&amp; _Files [‘some-unique-string’]

脚本宝典总结

以上是脚本宝典为你收集整理的php – dropzone.js没有将文件移动到上传文件夹全部内容,希望文章能够帮你解决php – dropzone.js没有将文件移动到上传文件夹所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。