专栏中心

EEPW首页 > 专栏 > PHP使用jqueryuploadify进行多图片上传分享

PHP使用jqueryuploadify进行多图片上传分享

发布人:扣丁学习 时间:2020-11-05 来源:工程师 发布文章

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

  1.增加数据表dili_fieldtypes新字段:k=>image,V=>图片上传区域(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则要进行裁剪


  $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;


  }


  }


  }


  ?>


  以上就是关于扣丁学堂PHP培训之使用jqueryuploadify进行多图片上传及源码的详细介绍最后想要了解更多关于PHP开发发展前景趋势,请关注扣丁学堂官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的PHP视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的一套PHP视频教程课程,让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

《嵌入式Linux系统的存储技术》PDF课件下载

美国“232条款”调查对中国台湾半导体产业影响几何?

EDA/PCB 2025-07-28

非 FMM OLED:中日韩的竞争

光电显示 2025-07-28

ST 以 9.5 亿美元收购 NXP 的 MEMS 业务,造成重大损失

工控自动化 2025-07-28

美女诱惑

hpnet 2004-05-16

美即将宣布半导体国家安全调查的结果:半导体全球供应链可能会更广泛的脱钩?

《嵌入式Linux驱动程序设计》讲课视频下载

上海仪电联合曦智科技、壁仞科技、中兴通讯发布国内首个光互连光交换GPU超节点—光跃LightSphere X

台积电美国先进封装厂计划曝光:聚焦SoIC与CoW技术

《嵌入式Linux驱动程序设计》PDF课件下载

第三届飞思卡尔智能车大赛华南赛区决赛中南大学

视频 2010-02-01

第三届飞思卡尔智能车大赛华南赛区决赛

视频 2010-02-01

Vishay最新工业级3/8英寸方形单匝金属陶瓷微调器,优化PCB上的布局

《嵌入式Linux系统的电源管理》PDF课件下载

HBM 混合键合需求据报道在 2025 年下半年上升,BESI 和 ASMPT 展望增长

网络与存储 2025-07-28

第二届飞思卡尔智能车比赛全国第2名视频

视频 2010-02-01

《嵌入式Linux系统开发基础》PDF课件下载

BGA/QFN封装难题终结者:360°无死角渗透,返修成本直降

EDA/PCB 2025-07-28

香港科技园率领9家AI科企亮相2025 世界人工智能大会

第二届飞思卡尔智能车比赛全国第10名视频

视频 2010-02-01

第二届飞思卡尔智能车比赛全国第1名视频

视频 2010-02-01
更多 培训课堂
更多 焦点
更多 视频

技术专区