博客專欄

EEPW首頁(yè) > 博客 > PHP使用jqueryuploadify進(jìn)行多圖片上傳分享

PHP使用jqueryuploadify進(jìn)行多圖片上傳分享

發(fā)布人:扣丁學(xué)習(xí) 時(shí)間:2020-11-05 來(lái)源:工程師 發(fā)布文章

  jqueryuploadify是一款A(yù)jax風(fēng)格的批量圖片上傳插件,在PHP中使用jqueryuploadify很方便,請(qǐng)按照本文介紹的方法和步驟,為你的PHP程序增加jqueryuploadify插件的批量上傳圖片功能。本文是以dilicms為基礎(chǔ),為其增加圖片上傳功能。

  1.增加數(shù)據(jù)表dili_fieldtypes新字段:k=>image,V=>圖片上傳區(qū)域(VACHAR);


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


  viewsourceprint?1case'image':


  $field=array(


  'type'=>'VARCHAR',


  'constraint'=>255,


  'default'=>''


  );


  7break;


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


  viewsourceprint?1function_image($fileld,$default){


  //$type='type=hidden';


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


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


  return;


  }


  4.在content_form.php和category_content_form.php中增加判斷代碼:


  viewsourceprint?01<?php


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


  ?>


  <divid="fileQueue"></div>


  <inputtype="file"id="uploadify"name="Filedata"/>


  <div>


  <ahref="javascript('#uploadify').uploadify('upload','*')">上傳</a>


  <ahref="javascript('#uploadify').uploadify('cancel')">取消上傳</a>


  </div>


  <inputtype="text"style=""name="<?phpecho$v['name']?>"id="<?phpecho$v['name']."_id"?>"value=""/>


  <inputtype="hidden"style=""name="poster"id="<?phpecho$v['name']."_id_1"?>"value=""/>


  <linkhref="<?phpecho$this->config->item("base_url");?>asset/js/uploadify/uploadify.css"type="text/css"rel="stylesheet"/>


  <scripttype="text/javascript"src="<?phpecho$this->config->item("base_url");?>asset/js/uploadify/jquery.uploadify-3.1.min.js"></script>


  <scripttype="text/javascript">


  $(document).ready(function()


  {


  $("#uploadify").uploadify({


  'debug':false,


  'swf':'<?phpecho$this->config->item("base_url");?>asset/js/uploadify/uploadify.swf',


  'uploader':'<?phpecho$this->config->item("base_url");?>photo/savephoto',


  'method':"post",


  'height':30,


  'width':120,


  'queueID':'fileQueue',


  'auto':false,


  'multi':false,


  'fileTypeDesc':'只允許上傳jpg格式圖片',


  'fileTypeExt':'*.jpg',


  'fileSizeLimit':'10MB',


  'formData':{'<?phpechosession_name();?>':'<?phpecho$this->session->userdata('session_id');?>'},


  'onUploadError':function(file,errorCode,errorMsg,errorString){


  alert('Thefile'+file.name+'couldnotbeuploaded:'+errorString);


  },


  'onUploadSuccess':function(file,data,response){


  alert(data);


  $("#<?phpecho$v['name']."_id"?>").val(data);


  $("#<?phpecho$v['name']."_id_1"?>").val(data);


  }


  });


  })


  </script>


  <?phpendif;?>


  6.新建photo.php文件:


  viewsourceprint?01<?php


  if(!defined('BASEPATH'))exit('Nodirectscriptaccessallowed');


  date_default_timezone_set('Asia/Shanghai');


  classPhotoextendsFront_Controller{


  publicfunction__construct()


  {


  parent::__construct();


  }


  function_getFilePath()


  {


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


  if(!file_exists($path)){


  mkdir($path,'777');


  }


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


  if(!file_exists($path)){


  mkdir($path,'777');


  }


  return$path;


  }


  function_creat_photothumbs($FileName,$setW){


  $IMGInfo=getimagesize($FileName);


  if(!$IMGInfo)returnfalse;


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


  $ThisPhoto=imagecreatefromjpeg($FileName);


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


  $ThisPhoto=imagecreatefrompng($FileName);


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


  $ThisPhoto=imagecreatefromgif($FileName);


  }


  $width=$IMGInfo['0'];


  $height=$IMGInfo['1'];


  $scale=$height/$width;


  $nw=$setW;


  $nh=$nw*$scale;


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


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


  ImageJpeg($NewPhoto,$FileName);


  returntrue;


  }


  function_savephoto_post(){


  $dest_dir=$this->_getFilePath();


  if(!empty($_FILES)){


  $date=date('Ymd');


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


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


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


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


  $fileInfo=pathinfo($photoname);


  $extension=$fileInfo['extension'];


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


  $dest=$dest_dir.$newphotoname;


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


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


  //chmod($dest,0755);


  //如果寬度大于600則要進(jìn)行裁剪


  $arr=getimagesize($dest);


  if($arr[0]>600){


  $thumb_w=600;


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


  }


  //生成縮略圖


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


  $config2['source_image']=$dest;


  $config2['create_thumb']=TRUE;


  $config2['maintain_ratio']=TRUE;


  $config2['width']=170;


  $config2['height']=150;


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


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


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


  $this->image_lib->resize();


  echo$dest;


  }


  }


  }


  ?>


  以上就是關(guān)于扣丁學(xué)堂PHP培訓(xùn)之使用jqueryuploadify進(jìn)行多圖片上傳及源碼的詳細(xì)介紹最后想要了解更多關(guān)于PHP開(kāi)發(fā)發(fā)展前景趨勢(shì),請(qǐng)關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的PHP視頻教程系統(tǒng),通過(guò)千鋒扣丁學(xué)堂金牌講師在線錄制的一套PHP視頻教程課程,讓你快速掌握PHP從入門(mén)到精通開(kāi)發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂PHP技術(shù)交流群:374332265。

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉