PHP结合zyupload多功能图片上传实例,支持拖拽和裁剪、可以自定义高度和宽度,类型,远程上传地址等。

zyupload上传基本配置

  1. 1 $("#zyupload").zyUpload({
  2. 2 width: "650px", // 宽度
  3. 3 height: "400px", // 宽度
  4. 4 itemWidth: "140px", // 文件项的宽度
  5. 5 itemHeight: "115px", // 文件项的高度
  6. 6 url: "./up.php", // 上传文件的路径
  7. 7 fileType: ["jpg", "png", "txt", "js"], // 上传文件的类型
  8. 8 fileSize: 51200000, // 上传文件的大小
  9. 9 multiple: true, // 是否可以多个文件上传
  10. 10 dragDrop: true, // 是否可以拖动上传文件
  11. 11 tailor: true, // 是否可以裁剪图片
  12. 12 del: true, // 是否可以删除文件
  13. 13 finishDel: false, // 是否在上传文件完成后删除预览
  14. 14 /* 外部获得的回调接口 */
  15. 15 onSelect: function(selectFiles, allFiles) { // 选择文件的回调方法 selectFile:当前选中的文件 allFiles:还没上传的全部文件
  16. 16 console.info("当前选择了以下文件:");
  17. 17 console.info(selectFiles);
  18. 18 },
  19. 19 onDelete: function(file, files) { // 删除一个文件的回调方法 file:当前删除的文件 files:删除之后的文件
  20. 20 console.info("当前删除了此文件:");
  21. 21 console.info(file.name);
  22. 22 },
  23. 23 onSuccess: function(file, response) { // 文件上传成功的回调方法
  24. 24 console.info("此文件上传成功:");
  25. 25 console.info(file.name);
  26. 26 console.info("此文件上传到服务器地址:");
  27. 27 console.info(response);
  28. 28 $("#uploadInf").append("<p>上传成功,文件地址是:" + response + "</p>");
  29. 29 },
  30. 30 onFailure: function(file, response) { // 文件上传失败的回调方法
  31. 31 console.info("此文件上传失败:");
  32. 32 console.info(file.name);
  33. 33 },
  34. 34 onComplete: function(response) { // 上传完成的回调方法
  35. 35 console.info("文件上传完成");
  36. 36 console.info(response);
  37. 37 }
  38. 38 });

远程上传up.php

  1. 1 $uploaddir = 'uploads/';
  2. 2 $name = $_FILES['file']['name'];
  3. 3 $uploadfile = $uploaddir . $name;
  4. 4 $type = strtolower(substr(strrchr($name, '.'), 1));
  5. 5 //获取文件类型
  6. 6
  7. 7 if (!in_array($type, $typeArr)) {
  8. 8 echo "请上传jpg,png或gif类型的图片!";
  9. 9 exit;
  10. 10 }
  11. 11 print "<pre>";
  12. 12 if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir . $_FILES['file']['name'])) {
  13. 13 print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
  14. 14 print_r($_FILES);
  15. 15 } else {
  16. 16 print "Possible file upload attack! Here's some debugging info:\n";
  17. 17 print_r($_FILES);
  18. 18 }
  19. 19 print "</pre>";

zyupload四种不同的PHP上传demo的更多相关文章

  1. 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  2. shutil模块和几种文件上传Demo

    一.shutil模块 1.介绍 shutil模块是对os中文件操作的补充.--移动 复制 打包 压缩 解压 2.基本使用 1. shutil.copyfileobj(文件1, 文件2, 长度) 将文件 ...

  3. webuploader 跨域上传demo(还没有写记录一下)

    webuploader 跨域上传demo(还没有写记录一下)

  4. jquery.form 和MVC4做无刷新上传DEMO

    jquery.form 和MVC4做无刷新上传DEMO HTML: <script src="~/Scripts/jquery-1.10.2.min.js"></ ...

  5. 分享图片压缩上传demo,可以选择一张或多张图片也可以拍摄照片

    2016-08-05更新: 下方的代码是比较OLD的了,是通过js进行图片的剪切 旋转 再生成,效率较低. 后来又整合了一个利用native.js本地接口的压缩代码 ,链接在这 .页面中有详细的说明, ...

  6. SpringMVC(四)SpringMVC实现文件上传、异常拦截去、整合SSM

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.文件上传 文件上传在SpringMVC中如何实现: 准备一个文件上传的表单 导入文件上传需要的jar ...

  7. 淘宝(阿里百川)手机客户端开发日记第十四篇 jsp提交含有上传控件表单乱码问题

    今天我来总结昨天开发的一个简单的jsp web 应用程序时,在做一个调教表单,从servlet端获取数据,这个表单里含有上传文件控件.如果我们在测试的时候,获取数据的是乱码,这时,大家可以先去掉上传控 ...

  8. mvc5 + ef6 + autofac搭建项目(四).1视屏上传生成截图

    即上一篇中上传涉及到的 一个视频生成截图的问题,这个很简单,这是上一篇中的代码片段 #region 视频上传,生成默认展示图片(自动剪切) try { string fileSavePath = Da ...

  9. Struts2学习(四)利用ajax异步上传

    上一篇说到怎样在struts2中进行上传下载.我们使用了struts的标签通过表单提交的方式,但大家知道表单提交会造成页面总体的刷新,这样的方式很不友好,那我们今天就来说说怎样结合ajax方式进行异步 ...

随机推荐

  1. airflow整体架构

    run命令运行过程 读取dag文件生成task依赖关系,然后生成封装airflow run的command命令,通过celery发送到executor端,重新执行该airflow run命令. sch ...

  2. tigervnc-server 无法启动问题

    [root@moodle-bak .X11-unix]# vncserver WARNING: The first attempt to start Xvnc failed, possibly bec ...

  3. 记录4-Ubuntu 16.04用gparted调整分区

    几天在安装双系统时,没注意居然把swap分区设置成了50G.今天才发现,于是用gparted重新分区. 1. sudo apt-get install gparted 2. 重新用u盘启动进入ubun ...

  4. Tomcat的startup.bat启动后显示乱码

    打开tomcat文件夹到conf目录下 修改logging.properties 找到 java.util.logging.ConsoleHandler.encoding = utf-8这行 更改为 ...

  5. mybatis入门篇:存储过程的操作

    1.无ResultType/ResultMap查询 先定义一个查询的存储过程: DELIMITER // CREATE PROCEDURE `select_user_by_id`( IN userId ...

  6. 观察者模式的python实现

    什么会观察者模式?观察者模式就是订阅-推送模式.是为了解耦合才会被利用起来的设计模式. 经典的就是boss 前台和员工之间的故事.一天A员工在看电影,B员工在看动漫,但是两人担心boss来了,自己没及 ...

  7. objective-c数组的七种遍历方法总结

    //第一种 [arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop){     NSLog(@"%ld,% ...

  8. Eclipse导入文件识别不了jsp怎么办

    1.在出现错误代码页开始处加上<%@ page import="java.util.*"%>,把包引进来2.然后右击项目,依次选择Properties->Java ...

  9. 关于jfinal发送邮件走过的坑

    最近接到一个写发送邮件的功能开发,使用的是jfinal框架.原本打算使用javamail一步步来的,后来看到jfinal有自带的发邮件的插件(jfinal-mail-plugin),只需两三行代码便可 ...

  10. Nexus构建

    参考文章: Maven远程仓库搭建与配置(https://my.oschina.net/u/1455528/blog/637063) Maven仓库—Nexus环境搭建及简单介绍(http://blo ...