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. ubuntu10.04换官方源

    ubuntu10.04LTS官方已经不再维护,导致部分软件.库文件等下载有问题,可换以下源地址解决问题 deb http://old-releases.ubuntu.com/ubuntu lucid ...

  2. java中抽象类是否可以继承实体类?

    一道java 常见面试题,网上找到的几乎每个 java 面试笔试题大全或集锦里都能找到这道题. 题目如下:问: 抽象类是否可继承实体类 (concrete class) 答: 抽象类是可以继承实体类, ...

  3. Spark RDD 操作

    1. Spark RDD 创建操作 1.1 数据集合   parallelize 可以创建一个能够并行操作的RDD.其函数定义如下: ) scala> sc.defaultParallelism ...

  4. Java之框架Spring(一)

    1. Spring是什么? Spring是一个开源框架 Spring为简化企业级应用而生.可以实现以前只有EJB才能实现的功能 Spring是一个IOC(DI)和AOP容器框架 具体描述:轻量级:Sp ...

  5. wordpress中安装插件需要ftp服务

    曾经天真的以为要装个ftp,然后发现这只是wordpress为了安全而留下的坑,只要修改wordpress配置即可 wordpress安装目录 ==> wp-config.php,文件添加以下代 ...

  6. C++实现串口的自动识别

    1.首先需要遍历注册表得到所有可用的串口 将得到的每一个串口保存到向量vector中,代码如下: // 得到所有的串口号 vector<string> cnComm::getComPort ...

  7. zookeeper启动报 Unexpected exception, exiting abnormally 错误

    启动zookeeper---jps,未出现QuorumPeerMain进程 原因: 电脑中的某些进程占用了2181 port 通过 sudo netstat -nltp|grep 2181查看进程并k ...

  8. 如何使用cloudflare的CDN加速网站隐藏网站IP

    原文:http://www.safecdn.cn/contact-zh/2018/12/cloudflare-cdn/1146.html 高防CDN:https://www.safeidc.cn/cd ...

  9. 网络协议,socket模块

    """网络通讯要素:1.物理介质2.通讯协议 osi五层模型 应用层 传输层 网络层 数据链路层 物理层 物理层能传输010101二进制单纯的二进制是没有意义的,必须得知 ...

  10. win10以管理员身份运行cmd方法

    win10以管理员身份运行cmd方法 win8win10以管理员身份运行cmd方法1.直接到 C:\Windows\System32 下面找cmd.exe 右键以管理员方式打开就可以了 2.按WIN+ ...