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. YAML快速入门

    https://www.jianshu.com/p/97222440cd08 我们学习Java,都是先介绍properties文件,使用properties文件配合Properties对象能够很方便的 ...

  2. 游戏AI

    玩游戏太累了,我或许可以写一个机器人帮我玩游戏发QQ发空间啥的

  3. 使用nexus3.x搭建maven私服

    前言 好久之前就想搭建maven仓库了,一直拖到了现在,也就是懒得动,现在终于是要付诸行动了.网上查了不少资料,好多博客都是关于2.x的搭建,我下载的是最新版的nexus,好多教程已经不能使用,以此记 ...

  4. 正确的学python方式

    首先呢,和其他的各种学习都一样,你一定要明白你学习的目标是什么.有的人想要通过学习Python,转行成程序员,实现行业上的转变:有的人希望通过学习Python,在现有的岗位上提升自己:当然也有很多人只 ...

  5. qt qextserialport __imp_SetupDiGetDeviceRegistryPropertyW

    使用 qextserialport 编写串口助手的时候,提示找不到 __imp_SetupDiGetDeviceRegistryPropertyW,经过摸索有以下两种解决方法: 第一种: 把相应的源文 ...

  6. 用系统默认mail服务实现邮件发送

    用系统默认mail服务实现邮件发送 1.操作步骤 第一步:设备服务器发送邮件要用的,邮箱地址,账号密码 编辑/etc/mail.rc vim /etc/mail.rc 在文件的结尾追加,账号信息配置 ...

  7. py3,休息时间玩点小把戏

    100以内奇数: ls = [x for x in range(100) if x % 2 == 1] 100以内偶数: ls = list(x for x in range(100) if x % ...

  8. Caused by: javax.persistence.NonUniqueResultException: result returns more than one elements

    Caused by: javax.persistence.NonUniqueResultException: result returns more than one elements at org. ...

  9. HTML5 关于本地操作文件的方法

    由于传统 b/s 开发出于安全性的考虑,浏览器对于本地文件的操作权限几乎没有,用户想要操作一个文件基本都是采用先上传到服务器, 再回显给浏览器供用户编辑,裁剪等的方法,这种方式虽然可行,但其对于服务器 ...

  10. js 手写 Promise

    /* * pending:初始化成功 * fulfilled:成功 * rejected:失败 * */ function Promise(cback){ this.status = 'pending ...