程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 在php中使用jquery uploadify進行多圖片上傳

在php中使用jquery uploadify進行多圖片上傳

編輯:關於PHP編程

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

      好了,可以測試了。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved