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

zyupload上传基本配置

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

远程上传up.php

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

    作业要求: 实现这个功能的软件也很多,还是烦请大家先自己搜索几个教程,入门请统一用htseq-count,对每个样本都会输出一个表达量文件. 需要用脚本合并所有的样本为表达矩阵.参考:生信编程直播第四 ...

  2. c语言函数参数类似继承的传递

    函数的参数如果是一个父结构的指针, 这个结构包含在另一个子结构中, typedef struct test_node_one test_node_one_t; typedef struct test_ ...

  3. 关于ueditor插入不了动态地图

    1. 打开编辑器根目录下面的ueditor.all.js文件,找到: table.setAttribute("data-sort", cmd == "enablesort ...

  4. 如何解决button,a,input标签自带蓝色边框

    通常我们会设置该标签outline:0;但是我在使用iview自带的button组件的时候,设置无效,经过测试只要设置 :focus{      outline:0; }  即可,方便有效

  5. js实现选中div内容并复制到剪切板

    function copyUrl () { var div = document.getElementById('xxxx'); if (document.body.createTextRange) ...

  6. 基于JSP servlet mysql 的登陆页面

    数据库中建表: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&q ...

  7. @PostConstruct注解小结

    1.在具体Bean的实例化过程中,@PostConstruct注解的方法,会在构造方法之后,init方法之前进行调用2.在项目中@PostConstruct主要应用场景是在初始化Servlet时加载一 ...

  8. centos病毒

    #!/bin/bash exec &>/dev/null {echo,ZXhlYyAmPi9kZXYvbnVsbApleHBvcnQgUEFUSD0kUEFUSDovYmluOi9zYm ...

  9. Nginx配置跨域支持功能

    跨域是前端开发中经常会遇到的问题,前端调用后台服务时,通常会遇到 No 'Access-Control-Allow-Origin' header is present on the requested ...

  10. HttpServletRequest 获取cookie

    request.getHeader("cookie") 得到的是a=b,c=d Cookie[] cookies = request.getCookies(); 访问方在heade ...