使用ThinkPHP+Uploadify实现图片上传功能


Posted in PHP onJune 26, 2014

首先,将下载的Uploadify压缩包解压放到公共文件夹内。实现代码如下:

前台html部分:

<script src="/uploadify/jquery.min.js" data-ke-src="/Public/uploadify/jquery.min.js" type="text/javascript">
<script src="/uploadify/jquery.uploadify.min.js" data-ke-src="/Public/uploadify/jquery.uploadify.min.js" type="text/javascript">
<link rel="stylesheet" type="text/css" href="/uploadify/uploadify.css" data-ke-src="/Public/uploadify/uploadify.css">
<script type="text/javascript">
var img_id_upload=new Array();//初始化数组,存储已经上传的图片名
var i=0;//初始化数组下标
$(function() {
 $('#file_upload').uploadify({
 'auto' : false,//关闭自动上传
 'removeTimeout' : 600,//文件队列上传完成1秒后删除
 'swf' : '/Public/uploadify/uploadify.swf',
 'uploader' : '/_URL_/Article/uploadify',
 'method' : 'post', //方法,服务端可以用$_POST数组获取数据
 'buttonText' : '选择图片',//设置按钮文本
 'multi' : true,//允许同时上传多张图片
 'uploadLimit' : 8,//一次最多只允许上传10张图片
 'fileTypeDesc' : 'Image Files',//只允许上传图像
 'fileTypeExts' : '*.gif; *.jpg; *.png',//限制允许上传的图片后缀
 'fileSizeLimit' : '2000KB',//限制上传的图片大小
 'onUploadSuccess' : function(file, data, response) { //每次成功上传后执行的回调函数,从服务端返回数据到前端
$('#image').append('<div style="float:left;margin:2px 0 0 2px"><img width="100px" height="100px" src="/uploads/'+data+'" data-ke-src="/uploads/'+data+'" height=80 width=80 />');
 img_id_upload[i]=data;
 i++;
 }
 });
});
</script>
<input type="file" name="file_upload" id="file_upload" />
<p><a href="javascript:$('#file_upload').uploadify('upload','');" data-ke-src="javascript:$('#file_upload').uploadify('upload','');">上传</a>
</p>
<br />
<div id="image" class="image"><br />

action执行代码部分:

public function uploadify()
 {
 $ph=M('Upload');
 import('ORG.Net.UploadFile');
 $upload = new UploadFile();// 实例化上传类
 $upload->maxSize = 93145728 ;// 设置附件上传大小
 $upload->saveRule =rand(1,9999);
 $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg','flv','avi','mov');// 设置附件上传类型
 $upload->savePath = './Uploads/';// 设置附件上传目录
 if(!$upload->upload())
 {// 上传错误提示错误信息
 $this->error($upload->getErrorMsg());
 }else{// 上传成功 获取上传文件信息
 $info = $upload->getUploadFileInfo();
 }
 for($i=0;$i<count($info);$i++)
 {
 $data['name']=$info[$i]['savename'];
 $data['size']=$info[$i]['size'];
 $data['type']=$info[$i]['extension'];
 echo $info[$i]['savename'];
 $rs=$ph->add($data); 
 }
 /*if($rs)
 {
 $this->success("成功");
 }else
 {
 $this->error("失败");
 }*/
 }

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP创建PDF中文文档
Oct 09 PHP
支持oicq头像的留言簿(二)
Oct 09 PHP
分享PHP入门的学习方法
Jan 02 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
destoon二次开发常用数据库操作
Jun 21 PHP
PHP多个文件上传到服务器实例
Oct 29 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
Apr 09 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
Mar 07 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 #PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 #PHP
ThinkPHP实现一键清除缓存方法
Jun 26 #PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 #PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 #PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 #PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 #PHP
You might like
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
python中的列表推导浅析
2014/04/26 Python
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
浅谈Python中的闭包
2015/07/08 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
python之super的使用小结
2018/08/13 Python
Python可迭代对象操作示例
2019/05/07 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
python中yield的用法详解
2021/01/13 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
通知范文怎么写
2015/04/16 职场文书
毕业酒会致辞
2015/07/29 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
关于保护环境的建议书
2019/06/24 职场文书