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

 更新时间:2014年06月26日 16:18:39   投稿:shichen2014  
这篇文章主要介绍了使用ThinkPHP+Uploadify实现图片上传功能,需要的朋友可以参考下

首先,将下载的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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

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

相关文章

  • php设计模式之备忘模式分析【星际争霸游戏案例】

    php设计模式之备忘模式分析【星际争霸游戏案例】

    这篇文章主要介绍了php设计模式之备忘模式,结合星际争霸游戏案例形式分析了PHP备忘模式相关原理、使用技巧与操作注意事项,需要的朋友可以参考下
    2020-03-03
  • yii上传文件或图片实例

    yii上传文件或图片实例

    最近在看yii,yii有自带上传图片的方法。简单的贴代码。分为两块,第一块view:test.php。第二块是controller:TestController.php
    2014-04-04
  • PHP基于CURL进行POST数据上传实例

    PHP基于CURL进行POST数据上传实例

    这篇文章主要介绍了PHP基于CURL进行POST数据上传的方法,以完整的实例形式较为详细的讲述了PHP采用curl进行POST数据传递的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • PHP静态成员变量和非静态成员变量详解

    PHP静态成员变量和非静态成员变量详解

    数据成员可以分静态变量、非静态变量两种.这篇文章主要介绍了PHP静态成员变量和非静态成员变量,需要的朋友可以参考下
    2017-02-02
  • php的对象传值与引用传值代码实例讲解

    php的对象传值与引用传值代码实例讲解

    这篇文章主要介绍了php的对象传值与引用传值代码实例讲解,感兴趣的同学可以多多学习下
    2021-02-02
  • PHP面向对象之后期静态绑定功能介绍

    PHP面向对象之后期静态绑定功能介绍

    这篇文章主要介绍了PHP面向对象之后期静态绑定功能介绍,本文将对PHP后期静态绑定功能进行介绍,它主要用于解决在继承范围内引用静态调用的类,需要的朋友可以参考下
    2015-05-05
  • php微信小程序解包过程实例详解

    php微信小程序解包过程实例详解

    这篇文章主要介绍了php微信小程序解包过程实例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • ajax在joomla中的原生态应用代码

    ajax在joomla中的原生态应用代码

    一般很少看到joomla中使用ajax,笔者以前说到过用jquery来实现,对于那些验证用户名不能重复,邮箱不能重复,以及联动菜单,等等的应用,使用ajax是免不了的
    2012-07-07
  • php项目接入xxl-job调度系统的示例详解

    php项目接入xxl-job调度系统的示例详解

    这篇文章主要介绍了php项目接入xxl-job调度系统的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 实例分析基于PHP微信网页获取用户信息

    实例分析基于PHP微信网页获取用户信息

    本篇内容主要给大家详细分析了用PHP制作微信网页来获取用户基本信息的过程,以及步骤讲解。
    2017-11-11

最新评论