在php中使用jquery uploadify进行多图片上传

   jquery uploadify是一款Ajax风格的批量图片上传插件,在PHP中使用jquery uploadify很方便,请按照本文介绍的方法和步骤,为你的PHP程序增加jquery uploadify插件的批量上传图片功能。

  本文是以dilicms为基础,为其增加图片上传功能。

  1.增加数据表dili_fieldtypes新字段:k=>image,V=>图片上传区域(VACHAR);

  2.修改application/libraries/dili/Field_behavior.php,在switch中增加如下代码:

  1case 'image':

  2$field=array(

  3'type'=>'VARCHAR',

  4'constraint'=>255,

  5'default'=>' '

  6);

  7break;

  3. 修改 application/libraries/dili/Form.php 并且增加如下代码:

  1function _image($fileld,$default){

  2//$type= 'type=hidden';

  3//$width=($field['width'] ? $field['width'] : '570') .'px;';

  4//$height=($field['height'] ? $field['height'] : '415') .'px;';

  5return ;

  6}

  4.在content_form.php和category_content_form.php中增加判断代码:

  01

  02 if($v['type']=="image"):

  03?>

  04

  05

  06

  07上传

  08取消上传

  09

  10" value=""/>

  11" value=""/>

  12asset/js/uploadify/uploadify.css" type="text/css" rel="stylesheet" />

  13

  14

  42

  6. 新建photo.php文件:

  01

  02if ( ! defined('BASEPATH')) exit('No direct script access allowed');

  03date_default_timezone_set('Asia/Shanghai');

  04class Photo extends Front_Controller{

  05 public function __construct()

  06 {

  07 parent::__construct();

  08 }

  09 function _getFilePath()

  10 {

  11 $path="attachments/".date("Y")."/";

  12 if(!file_exists($path)){

  13 mkdir($path,'777');

  14 }

  15 $path.=date("m")."/";

  16 if(!file_exists($path)){

  17 mkdir($path,'777');

  18 }

  19 return $path;

  20 }

  21 function _creat_photothumbs($FileName,$setW){

  22 $IMGInfo= getimagesize($FileName);

  23 if(!$IMGInfo) return false;

  24 if($IMGInfo['mime']== "image/pjpeg" || $IMGInfo['mime']=="image/jpeg"){

  25 $ThisPhoto= imagecreatefromjpeg($FileName);

  26 }elseif($IMGInfo['mime']== "image/x-png" || $IMGInfo['mime']== "image/png"){

  27 $ThisPhoto= imagecreatefrompng($FileName);

  28 }elseif($IMGInfo['mime']== "image/gif"){

  29 $ThisPhoto=imagecreatefromgif($FileName);

  30 }

  31 $width=$IMGInfo['0'];

  32 $height=$IMGInfo['1'];

  33 $scale=$height/$width;

  34 $nw=$setW;

  35 $nh=$nw*$scale;

  36 $NewPhoto=imagecreatetruecolor($nw,$nh);

  37 imagecopyresampled($NewPhoto,$ThisPhoto,0,0,0,0,$nw,$nh,$width,$height);

  38 ImageJpeg ($NewPhoto,$FileName);

  39 return true;

  40 }

  41 function _savephoto_post(){

  42 $dest_dir =$this->_getFilePath();

  43 if (!empty($_FILES)) {

  44 $date = date('Ymd');

  45 //$dest_dir =$this->_getFilePath();

  46 $photoname = $_FILES["Filedata"]['name'];

  47 $phototype = $_FILES['Filedata']['type'];

  48 $photosize = $_FILES['Filedata']['size'];

  49 $fileInfo=pathinfo($photoname);

  50 $extension=$fileInfo['extension'];

  51 $newphotoname = date("YmdHis").mt_rand(10000,99999).'.'.$extension;

  52 $dest=$dest_dir.$newphotoname;

  53 //move_uploaded_file($_FILES['Filedata']['tmp_name'], iconv("UTF-8","gb2312",$dest));

  54 move_uploaded_file($_FILES['Filedata']['tmp_name'], $dest);

  55 //chmod($dest, 0755);

  56 //如果宽度大于600则要进行裁剪

  57 $arr=getimagesize($dest);

  58 if($arr[0]>600){

  59 $thumb_w=600;

  60 $this->_creat_photothumbs($dest,$thumb_w);

  61 }

  62 //生成缩略图

  63 $config2['image_library'] = 'gd2';

  64 $config2['source_image'] = $dest;

  65 $config2['create_thumb'] = TRUE;

  66 $config2['maintain_ratio'] = TRUE;

  67 $config2['width'] = 170;

  68 $config2['height'] = 150;

  69 $config2['master_dim']="width";

  70 $config2['thumb_marker']="_1";

  71 $this->load->library('image_lib', $config2);

  72 $this->image_lib->resize();

  73 echo $dest;

  74 }

  75 }

  76}

  77?>

  好了,可以测试了。

时间: 2024-08-04 12:30:59

在php中使用jquery uploadify进行多图片上传的相关文章

利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)_jquery

  <body> <div class="container demo"> <div class="big"> <p class="instructions">大图预览</p> <div class="bigframe"> <img width="300" height="300" src="imag

使用jquery.form.js实现图片上传的方法_jquery

本文实例讲述了使用jquery.form.js实现图片上传的方法.分享给大家供大家参考,具体如下: testupfile2.php <?php header('Content-type:text/html;charset=utf-8'); include_once 'includes/common.inc.php'; if(!empty($_FILES['upfile'])){ //文件格式 $image=array('image/jpg', 'image/jpeg', 'image/png',

PHP+jQuery+Ajax实现多图片上传效果_jquery

今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果.用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上. HTML 我们在页面上放置一个form表单,使用post提交到后台php处理程序upload.php,注意enctype属性设置要支持文件上传.#preview用来显示上传完毕后的图片.关于css样式设置本文不加说明,请参照下载包的源码. 复制代码 代码如下: <form id="imageform" met

使用uploadify dialog 实现图片上传

问题描述 使用uploadify dialog 实现图片上传 http://bbs.csdn.net/topics/390976381?page=1#post-398826651 问题在这边 有没有人帮解答一下???急~~~~谢谢 解决方案 uploadify可以配置queueID指定上传队列信息显示控件的..你不用动态将uploadify生成的控件插入到其他控件里面,可能添加过事件,你的移动可能导致事件或者一些属性丢失什么的 $(""#file_upload"")

Android中使用七牛云存储进行图片上传下载的实例代码

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了. 可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端

Silverlight中的拖拽实现的图片上传

原文 http://blog.csdn.net/dujingjing1230/article/details/5443003 在Silverlight中因为可以直接从系统的文件夹里面拖出来一个文件直接放到浏览器中,我在想使用这个功能来做成图片上传(或者文件上传),这样的用户体验将会是非常好的. 传统的上传都是打开对话框,选择文件,然后点击上传.步骤比较多.使用Silverlight做的文件上传如下图所示:     直接左键鼠标,拖拽过去就OK了.如下图:     这边文章里不能完全实现服务器端的

asp.net+jquery上传图片插件及图片上传格式像素限制

今天分享一下怎么对上传文件类型进行过滤,以及对图片像素的判断处理. 1.在html中实现对文件类型的过滤 所有上传插件都是基于iframe+file input控件实现,除了flash和siverlight的控件方式的. file input的时候是支持对文件类型进行过滤的.过滤类型是: <input type="file" accept="application/msword" ><br><br>accept属性列表<br

利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)_jquery

这个应用的关键: 1.让左边选择区域和右边显示的图像信息保持一至. 2.根据左边选择区域的大小,来让右边有一个对局部放大或缩小的效果.     3.后台上传功能. 那么这一次,只谈[放大]或[缩小].[位置]和[上传]问题,下次,我再写下(因为那个插件代码太多,我也没看完,正在学习研究当中). ["区域":是宽*高,也就是面积:] ["放大或缩小":是一个比例值,通常我们说放大或缩小,都说放大或缩小百分之多少,或者说放大或缩小多少倍数] 一.怎么能放大或者缩小图片的

jQuery插件uploadify实现ajax效果的图片上传_jquery

昨天做了一天的ajax效果的图片上传,就是想让自己学的更加的精一些,所以看了很多第三方的控件,最后还是选择了uploadify这个控件,主要原因是比较容易上手. 首先我们先参考别人的资料(我自己整理了一下) 可选项 需要参数类型 参数名字 解释 (布尔型) auto 当文件被添加到队列时,自动上传. (字符串) buttonImg 浏览按钮的背景图片路径. (字符串) buttonText 默认在按钮上显示的文本. (字符串) cancelImg 取消按钮的背景图片路径. (字符串) check