Heim > php教程 > php手册 > 在php中使用jquery uploadify进行多图片上传

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

WBOY
Freigeben: 2016-06-13 09:37:50
Original
848 Leute haben es durchsucht

   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?>

  好了,可以测试了。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage