博客專欄

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

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

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

          jqueryuploadify是一款A(yù)jax風(fēng)格的批量圖片上傳插件,在PHP中使用jqueryuploadify很方便,請按照本文介紹的方法和步驟,為你的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開發(fā)發(fā)展前景趨勢,請關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的PHP視頻教程系統(tǒng),通過千鋒扣丁學(xué)堂金牌講師在線錄制的一套PHP視頻教程課程,讓你快速掌握PHP從入門到精通開發(fā)實戰(zhàn)技能。扣丁學(xué)堂PHP技術(shù)交流群:374332265。

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



        關(guān)鍵詞:

        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 烟台市| 正宁县| 锡林浩特市| 怀安县| 开远市| 镇江市| 峨眉山市| 星子县| 海原县| 贵阳市| 万源市| 万盛区| 都江堰市| 澄迈县| 五莲县| 杭锦后旗| 阳高县| 乌苏市| 天等县| 庆安县| 乐都县| 万州区| 平遥县| 海南省| 甘孜| 南丹县| 长岭县| 扎囊县| 交城县| 南澳县| 日喀则市| 颍上县| 禹州市| 四会市| 潼关县| 金塔县| 渭南市| 澄江县| 疏勒县| 工布江达县| 特克斯县|