jquery Uploadify is an AJAX-style batch image upload plug-in, in PHP using jquery uploadify is very convenient, please follow the methods and procedures described in this article, for your PHP program to increase the jquery uploadify plugin bulk upload image features.
This article is based on dilicms, to increase the image upload function.
1. Add Data table dili_fieldtypes new field:k=>image,v=> picture upload area (Vachar);
2. Modify the application/libraries/dili/field_behavior.php and add the following code to the switch:
1case ' image ':
2$field=array (
3 ' type ' => ' VARCHAR ',
4 ' constraint ' =>255,
5 ' Default ' => '
6);
7break;
3. Modify the application/libraries/dili/form.php and add the following code:
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. Increase the judgment code in content_form.php and category_content_form.php:
01
if ($v [' type ']== "image"):
03?>
04
05
06
07 Upload
08 Cancel Upload
09
"Value=" "/>
One "value=" "/>"
12asset/js/uploadify/uploadify.css "type=" Text/css "rel=" stylesheet "/>"
13
14
42
6. New photo.php File:
01
02IF (! defined (' BasePath ')) exit (' No Direct script access allowed ');
03date_default_timezone_set (' Asia/shanghai ');
04class Photo extends front_controller{
The Public Function __construct ()
06 {
Modified parent::__construct ();
08}
function _getfilepath ()
10 {
One $path = "attachments/". Date ("Y"). " /";
if (!file_exists ($path)) {
mkdir ($path, ' 777 ');
14}
$path. =date ("M"). " /";
if (!file_exists ($path)) {
mkdir ($path, ' 777 ');
18}
return $path;
20}
function _creat_photothumbs ($FileName, $setW) {
$IMGInfo = getimagesize ($FileName);
if (! $IMGInfo) return false;
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);
30}
$width = $IMGInfo [' 0 '];
$height = $IMGInfo [' 1 '];
$scale = $height/$width;
$NW = $setW;
$NH = $NW * $scale;
$NewPhoto =imagecreatetruecolor ($NW, $NH);
Panax Notoginseng imagecopyresampled ($NewPhoto, $ThisPhoto, 0,0,0,0, $NW, $nh, $width, $height);
Imagejpeg ($NewPhoto, $FileName);
return true;
40}
The _savephoto_post function () {
$dest _dir = $this->_getfilepath ();
if (!empty ($_files)) {
$date = Date (' Ymd ');
A//$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);
56///If width is greater than 600 to crop
$arr =getimagesize ($dest);
if ($arr [0]>600) {
$thumb _w=600;
$this->_creat_photothumbs ($dest, $thumb _w);
61}
62//Generate thumbnails
$config 2[' image_library '] = ' gd2 ';
$config 2[' source_image '] = $dest;
$config 2[' create_thumb '] = TRUE;
$config 2[' maintain_ratio '] = TRUE;
$config 2[' width '] = 170;
$config 2[' height '] = 150;
$config 2[' Master_dim ']= "width";
$config 2[' thumb_marker ']= "_1";
$this->load->library (' Image_lib ', $config 2);
$this->image_lib->resize ();
Echo $dest;
74}
75}
76}
77?>
Well, it's ready to be tested.