示例#1
0
 /**
  * 安装包文件和对应图片的上传
  */
 public function uploadfileAction()
 {
     //$stateArray = array();
     //读取memcache缓存信息
     //$memcache = XMemCache::GetInstance();
     //$status = $memcache->Get('Cur_X_User');
     //if(empty($_SESSION['Cur_X_User']['id']))
     //{
     //	die('请先登录');
     //}
     //上传错误提示
     $errorMsg = array('0' => '文件上传成功', '1' => '文件超出了服务器配置大小', '2' => '文件超出了表单配置大小', '3' => '仅部分文件上传', '4' => '没有找到上传文件', '5' => '上传文件大小为零', '6' => '未找到临时文件夹', '7' => '临时文件夹写入失败', '8' => '服务器文件上传扩展未开启', '9' => '上传图片规格不符合要求', '10' => '存放文件夹建立失败', '11' => '上传文件移动失败');
     //引入图片处理类
     require_once COMMON_PATH . "XThumb.php";
     $imgthumb = new XThumb();
     $num = reqnum("num", 0);
     $appcol = reqstr('appcol', 1);
     $appid = reqstr('appid', '');
     $appid = $appid ? $appid : $this->getmaxappidAction($appcol);
     //返回数据
     $arr = array();
     //json数据返回
     $returnJson = '';
     $error = true;
     //上传文件目录设置
     if ($appcol == 2) {
         $root = APP_PATH;
     } elseif ($appcol == 1) {
         $root = GAME_PATH;
     }
     define('ROOT', $root);
     $flag = isset($_POST['flag']) ? $_POST['flag'] : '';
     if (!$flag) {
         return;
     }
     switch ($flag) {
         //logo上传
         case 'logo':
             $logo = isset($_FILES['file']) ? $_FILES['file'] : '';
             if ($logo['error'] == 0) {
                 $dir = ROOT . $appid;
                 $img_info = getimagesize($logo['tmp_name']);
                 //图片比例限制
                 $radio = floor($img_info[0] / $img_info[1] * 10);
                 if (!($radio > 9 && $radio < 11)) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $logo['tmp_name'] . $errorMsg[9] : $logo['tmp_name'] . $errorMsg[9];
                 } else {
                     if (!is_dir($dir)) {
                         if (!mkdir($dir, 0777, true)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $logo['tmp_name'] . $errorMsg[10] : $logo['tmp_name'] . $errorMsg[10];
                         } else {
                             //获取后缀名
                             //$ext = strrchr($logo['name'],'.');
                             $ext = '.png';
                             $filename = 'logo' . $ext;
                             //文件名及地址组装
                             $path = $dir . '/' . $filename;
                             $arr['img_name'] = str_replace(ROOT, '/', $path);
                             if (!move_uploaded_file($logo['tmp_name'], $path)) {
                                 $error = false;
                                 $msg = $msg ? $msg . ',' . $logo['tmp_name'] . $errorMsg[11] : $logo['tmp_name'] . $errorMsg[11];
                             } else {
                                 $imgthumb->imgZoom($path, 150, 150, $path);
                             }
                         }
                     } else {
                         //获取后缀名
                         //$ext = strrchr($logo['name'],'.');
                         $ext = '.png';
                         $filename = 'logo' . $ext;
                         //文件名及地址组装
                         $path = $dir . '/' . $filename;
                         $arr['img_name'] = $filename;
                         if (!move_uploaded_file($logo['tmp_name'], $path)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $logo['tmp_name'] . $errorMsg[11] : $logo['tmp_name'] . $errorMsg[11];
                         } else {
                             $imgthumb->imgZoom($path, 150, 150, $path);
                         }
                     }
                 }
             } else {
                 if ($logo['error'] > 0) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $logo['tmp_name'] . $errorMsg[$file['error']] : $logo['tmp_name'] . $errorMsg[$file['error']];
                     $arr['result'] = 'error';
                     $arr['msg'] = $errorMsg[$logo['error']];
                 }
             }
             break;
             //安装文件上传
         //安装文件上传
         case 'installfile':
             //安装文件
             $installfile = isset($_FILES['file']) ? $_FILES['file'] : '';
             $arr['size'] = ceil($installfile['size'] / 1000000);
             if ($installfile['error'] == 0) {
                 $dir = ROOT . $appid;
                 if (!is_dir($dir)) {
                     if (!mkdir($dir, 0777, true)) {
                         $error = false;
                         $msg = $errorMsg[10];
                     }
                 }
                 $filename = $installfile['name'];
                 $file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
                 $appname = $appid . '.' . $file_ext;
                 $path = $dir . '/' . $appname;
                 $arr['img_name'] = $appname;
                 if (!move_uploaded_file($installfile['tmp_name'], $path)) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $installfile['tmp_name'] . $errorMsg[11] : $installfile['tmp_name'] . $errorMsg[11];
                 }
             } else {
                 if ($installfile['error'] > 0) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $installfile['tmp_name'] . $errorMsg[$installfile['error']] : $installfile['tmp_name'] . $errorMsg[$installfile['error']];
                     $arr['result'] = 'error';
                     $arr['msg'] = $errorMsg[$installfile['tmp_name']];
                 }
             }
             break;
             //安卓封面
         //安卓封面
         case 'fmandroid':
             $error = true;
             $fmandroid = isset($_FILES['file']) ? $_FILES['file'] : '';
             if ($fmandroid['error'] == 0) {
                 $dir = ROOT . $appid;
                 $dir = $dir . '/' . 'android' . '/' . 'ads' . '/';
                 echo $dir;
                 $img_info = getimagesize($fmandroid['tmp_name']);
                 //计算长宽必烈
                 $radio = floor($img_info[0] / $img_info[1] * 100);
                 if (!($radio > 185 && $radio < 195)) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $fmandroid['tmp_name'] . $errorMsg[9] : $fmandroid['tmp_name'] . $errorMsg[9];
                 } else {
                     if (!is_dir($dir)) {
                         if (!mkdir($dir, 0777, true)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $fmandroid['tmp_name'] . $errorMsg[10] : $fmandroid['tmp_name'] . $errorMsg[10];
                         } else {
                             //获取扩展名
                             $filename = $fmandroid['name'];
                             $ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
                             $filename = 'adshdpi';
                             $fname = $filename . '.' . $ext;
                             $path = $dir . $fname;
                             $arr['img_name'] = $fname;
                             if (!move_uploaded_file($fmandroid['tmp_name'], $path)) {
                                 $error = false;
                                 $msg = $msg ? $msg . ',' . $fmandroid['tmp_name'] . $errorMsg[11] : $fmandroid['tmp_name'] . $errorMsg[11];
                             } else {
                                 $imgthumb->imgZoom($path, 480, 255, $dir . 'adshdpi' . $ext);
                                 $imgthumb->imgZoom($path, 540, 288, $dir . 'adsmdpi' . $ext);
                                 $imgthumb->imgZoom($path, 720, 380, $dir . 'adsxhdpi' . $ext);
                                 $imgthumb->imgZoom($path, 1080, 570, $dir . 'adsxxhdpi' . $ext);
                             }
                         }
                     } else {
                         //获取扩展名
                         $filename = $fmandroid['name'];
                         $ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
                         $filename = 'adshdpi';
                         $fname = $filename . '.' . $ext;
                         $path = $dir . $fname;
                         $arr['img_name'] = $fname;
                         if (!move_uploaded_file($fmandroid['tmp_name'], $path)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $fmandroid['tmp_name'] . $errorMsg[11] : $fmandroid['tmp_name'] . $errorMsg[11];
                         } else {
                             $imgthumb->imgZoom($path, 480, 255, $dir . 'adshdpi' . $ext);
                             $imgthumb->imgZoom($path, 540, 288, $dir . 'adsmdpi' . $ext);
                             $imgthumb->imgZoom($path, 720, 380, $dir . 'adsxhdpi' . $ext);
                             $imgthumb->imgZoom($path, 1080, 570, $dir . 'adsxxhdpi' . $ext);
                         }
                     }
                 }
             } else {
                 if ($fmandroid['error'] > 0) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $fmandroid['tmp_name'] . $errorMsg[$fmandroid['error']] : $fmandroid['tmp_name'] . $errorMsg[$fmandroid['error']];
                     $arr['result'] = 'error';
                     $arr['msg'] = $errorMsg[$fmandroid['tmp_name']];
                 }
             }
             break;
             //ppt安卓
         //ppt安卓
         case 'pptandroid':
             $error = true;
             $files = array();
             $arr['img_name'] = '';
             foreach ($_FILES['file'] as $k => $v) {
                 foreach ($v as $key => $val) {
                     $files[$key][$k] = $val;
                 }
             }
             foreach ($files as $key => $file) {
                 if ($file['error'] == 0) {
                     //获取图片信息
                     $img_info = getimagesize($file['tmp_name']);
                     $radio = floor($img_info[0] / $img_info[1] * 100);
                     if (!($radio > 55 && $radio < 61)) {
                         $error = false;
                         $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[9] : $file['tmp_name'] . $errorMsg[9];
                     } else {
                         $dir = ROOT . $appid . '/';
                         if (!is_dir($dir)) {
                             if (!mkdir($dir, 0777, true)) {
                                 $error = false;
                                 $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                             }
                         }
                         $filename = $file['name'];
                         $ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
                         $rand = rand(100, 999);
                         $filename = $appid . '_' . date("YmdHis") . $rand . "." . $ext;
                         $path = $dir . $filename;
                         $newImg = $filename;
                         $arr['img_name'] = $newImg . ';' . $arr['img_name'];
                         //创建需要的文件目录
                         $dir0 = $dir . 'android/' . 'hdpi/';
                         $dir1 = $dir . 'android/' . 'mdpi/';
                         $dir2 = $dir . 'android/' . 'xhdpi/';
                         $dir3 = $dir . 'android/' . 'xxhdpi/';
                         //echo $path;exit;
                         if (!move_uploaded_file($file['tmp_name'], $path)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[11] : $file['tmp_name'] . $errorMsg[11];
                         } else {
                             if (!is_dir($dir0)) {
                                 if (!mkdir($dir0, 0777, true)) {
                                     $error = false;
                                     $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                                 }
                             }
                             if (!is_dir($dir1)) {
                                 if (!mkdir($dir1, 0777, true)) {
                                     $error = false;
                                     $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                                 }
                             }
                             if (!is_dir($dir2)) {
                                 if (!mkdir($dir2, 0777, true)) {
                                     $error = false;
                                     $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                                 }
                             }
                             if (!is_dir($dir3)) {
                                 if (!mkdir($dir3, 0777, true)) {
                                     $error = false;
                                     $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                                 }
                             }
                             $imgthumb->imgZoom($path, 336, 560, $dir0 . $filename);
                             $imgthumb->imgZoom($path, 378, 672, $dir1 . $filename);
                             $imgthumb->imgZoom($path, 504, 896, $dir2 . $filename);
                             $imgthumb->imgZoom($path, 756, 1344, $dir3 . $filename);
                         }
                     }
                 } else {
                     if ($file['error'] > 0) {
                         $error = false;
                         $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[$file['error']] : $file['tmp_name'] . $errorMsg[$file['error']];
                         $arr['result'] = 'error';
                         $arr['msg'] = $errorMsg[$file['tmp_name']];
                     }
                 }
             }
             break;
         case 'fmios':
             //ios封面图片缩放及上传
             $error = true;
             $fmios = isset($_FILES['file']) ? $_FILES['file'] : '';
             if ($fmios['error'] == 0) {
                 $dir = ROOT . $appid;
                 $dir = $dir . '/' . 'ios' . '/' . 'ads' . '/';
                 $img_info = getimagesize($fmios['tmp_name']);
                 //图片长宽必烈
                 $radio = floor($img_info[0] / $img_info[1] * 100);
                 if (!($radio > 55 && $radio < 65)) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $fmios['tmp_name'] . $errorMsg[9] : $fmios['tmp_name'] . $errorMsg[9];
                 } else {
                     if (!is_dir($dir)) {
                         if (!mkdir($dir, 0777, true)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $fmios['tmp_name'] . $errorMsg[10] : $fmios['tmp_name'] . $errorMsg[10];
                         } else {
                             //获取扩展名
                             //$ext = strrchr($fmios['name'],'.');
                             $ext = '.png';
                             $filename = 'adsios';
                             $path = $dir . $filename . $ext;
                             $arr['img_name'] = $filename . $ext;
                             if (!move_uploaded_file($fmios['tmp_name'], $path)) {
                                 $error = false;
                                 $msg = $msg ? $msg . ',' . $fmios['tmp_name'] . $errorMsg[11] : $fmios['tmp_name'] . $errorMsg[11];
                             } else {
                                 $imgthumb->imgZoom($path, 960, 576, $dir . $filename . $ext);
                             }
                         }
                     } else {
                         //获取扩展名
                         //$ext = strrchr($fmios['name'],'.');
                         $ext = '.png';
                         $filename = 'adsios';
                         $path = $dir . $filename . $ext;
                         $arr['img_name'] = $filename . $ext;
                         if (!move_uploaded_file($fmios['tmp_name'], $path)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $fmios['tmp_name'] . $errorMsg[11] : $fmios['tmp_name'] . $errorMsg[11];
                         } else {
                             $imgthumb->imgZoom($path, 960, 576, $dir . $filename . $ext);
                         }
                     }
                 }
             } else {
                 if ($fmios['error'] > 0) {
                     $error = false;
                     $msg = $msg ? $msg . ',' . $fmios['tmp_name'] . $errorMsg[$fmios['error']] : $fmios['tmp_name'] . $errorMsg[$fmios['error']];
                     $arr['result'] = 'error';
                     $arr['msg'] = $errorMsg[$fmios['tmp_name']];
                 }
             }
             break;
             //ios  PPT1
         //ios  PPT1
         case 'pptios1':
             $error = true;
             $files = array();
             $arr['img_name'] = '';
             foreach ($_FILES['file'] as $k => $v) {
                 foreach ($v as $key => $val) {
                     $files[$key][$k] = $val;
                 }
             }
             foreach ($files as $key => $file) {
                 if ($file['error'] == 0) {
                     //获取图片信息
                     $img_info = getimagesize($file['tmp_name']);
                     $radio = floor($img_info[0] / $img_info[1] * 100);
                     if (!($radio > 56 && $radio < 60)) {
                         $error = false;
                         $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[9] : $file['tmp_name'] . $errorMsg[9];
                         //$this->showMsg("pptitips1",$img_info['name'] . $errorMsg[9]);
                     } else {
                         $dir = ROOT . $appid . '/' . 'ios' . '/' . 'shdpi' . '/';
                         //echo $dir;exit;
                         if (!is_dir($dir)) {
                             if (!mkdir($dir, 0777, true)) {
                                 $error = false;
                                 $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                             }
                         }
                         $filename = substr($file['name'], 0, strpos($file['name'], '.'));
                         $ext = '.png';
                         $path = $dir . $filename . $ext;
                         $newImg = $filename . $ext;
                         $arr['img_name'] = $newImg . ';' . $arr['img_name'];
                         if (!move_uploaded_file($file['tmp_name'], $path)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[11] : $file['tmp_name'] . $errorMsg[11];
                         } else {
                             $imgthumb->imgZoom($path, 780, 1344, $dir . $filename . $ext);
                         }
                     }
                 } else {
                     if ($file['error'] > 0) {
                         $error = false;
                         $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[$file['error']] : $file['tmp_name'] . $errorMsg[$file['error']];
                         $arr['result'] = 'error';
                         $arr['msg'] = $errorMsg[$file['tmp_name']];
                     }
                 }
             }
             break;
         case 'pptios2':
             $error = true;
             $files = array();
             $arr['img_name'] = '';
             foreach ($_FILES['file'] as $k => $v) {
                 foreach ($v as $key => $val) {
                     $files[$key][$k] = $val;
                 }
             }
             foreach ($files as $key => $file) {
                 if ($file['error'] == 0) {
                     //获取图片信息
                     $img_info = getimagesize($file['tmp_name']);
                     $radio = floor($img_info[0] / $img_info[1] * 100);
                     if (!($radio > 70 && $radio < 75)) {
                         $error = false;
                         $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[9] : $file['tmp_name'] . $errorMsg[9];
                     } else {
                         $dir = ROOT . $appid . '/' . 'ios' . '/' . 'bhdpi' . '/';
                         if (!is_dir($dir)) {
                             if (!mkdir($dir, 0777, true)) {
                                 $error = false;
                                 $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[10] : $file['tmp_name'] . $errorMsg[10];
                             }
                         }
                         $filename = substr($file['name'], 0, strpos($file['name'], '.'));
                         //$ext = strrchr($file['name'],'.');
                         $ext = '.png';
                         $path = $dir . $filename . $ext;
                         $newImg = $filename . $ext;
                         $arr['img_name'] = $newImg . ';' . $arr['img_name'];
                         if (!move_uploaded_file($file['tmp_name'], $path)) {
                             $error = false;
                             $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[11] : $file['tmp_name'] . $errorMsg[11];
                         } else {
                             $imgthumb->imgZoom($path, 780, 1080, $dir . $filename . $ext);
                         }
                     }
                 } else {
                     if ($file['error'] > 0) {
                         $error = false;
                         $msg = $msg ? $msg . ',' . $file['tmp_name'] . $errorMsg[$file['error']] : $file['tmp_name'] . $errorMsg[$file['error']];
                         $arr['result'] = 'error';
                         $arr['msg'] = $errorMsg[$file['tmp_name']];
                     }
                 }
             }
             break;
     }
     if ($error) {
         $arr['result'] = 'success';
         $arr['msg'] = $errorMsg['0'];
         $arr['num'] = $num;
     } else {
         $arr['result'] = 'error';
         $arr['msg'] = $msg;
         $arr['num'] = $num;
     }
     //json返回
     $returnJson = json_encode($arr);
     die("<script type='text/javascript'>window.parent.callbackFunction('" . $returnJson . "');</script>");
 }
示例#2
0
 public function uploadfileAction()
 {
     $istmp = reqnum('istmp', 0);
     //require_once PUBLIC_PATH.'php'.DIRECTORY_SEPARATOR.'JSON.php';
     require_once PUBLIC_PATH . 'psys/php/JSON.php';
     //文件保存目录路径
     $save_path = NEWS_PATH;
     //文件保存目录URL
     $save_url = '/';
     //定义允许上传的文件扩展名
     $ext_arr = array('image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'), 'flash' => array('swf', 'flv'), 'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'), 'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'));
     //最大文件大小
     $max_size = 1000000;
     //$save_path = realpath($save_path) . '/';
     //PHP上传失败
     if (!empty($_FILES['imgFile']['error'])) {
         switch ($_FILES['imgFile']['error']) {
             case '1':
                 $error = '超过php.ini允许的大小。';
                 break;
             case '2':
                 $error = '超过表单允许的大小。';
                 break;
             case '3':
                 $error = '图片只有部分被上传。';
                 break;
             case '4':
                 $error = '请选择图片。';
                 break;
             case '6':
                 $error = '找不到临时目录。';
                 break;
             case '7':
                 $error = '写文件到硬盘出错。';
                 break;
             case '8':
                 $error = 'File upload stopped by extension。';
                 break;
             case '999':
             default:
                 $error = '未知错误。';
         }
         alert($error);
     }
     //有上传文件时
     if (empty($_FILES) === false) {
         //原文件名
         $file_name = $_FILES['imgFile']['name'];
         //服务器上临时文件名
         $tmp_name = $_FILES['imgFile']['tmp_name'];
         //文件大小
         $file_size = $_FILES['imgFile']['size'];
         //检查文件名
         if (!$file_name) {
             $this->alert("请选择文件。");
         }
         //检查目录
         if (@is_dir($save_path) === false) {
             if (!mkdir($save_path)) {
                 $this->alert("上传目录不存在。");
             }
         }
         //检查目录写权限
         if (@is_writable($save_path) === false) {
             $this->alert("上传目录没有写权限。");
         }
         //检查是否已上传
         if (@is_uploaded_file($tmp_name) === false) {
             $this->alert("上传失败。");
         }
         //检查文件大小
         if ($file_size > $max_size) {
             $this->alert("上传文件大小超过限制。");
         }
         //检查目录名
         $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);
         if (empty($ext_arr[$dir_name])) {
             $this->alert("目录名不正确。");
         }
         //获得文件扩展名
         $temp_arr = explode(".", $file_name);
         $file_ext = array_pop($temp_arr);
         $file_ext = trim($file_ext);
         $file_ext = strtolower($file_ext);
         //检查扩展名
         if (in_array($file_ext, $ext_arr[$dir_name]) === false) {
             $this->alert("上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。");
         }
         //创建文件夹
         if ($dir_name !== '') {
             $save_path .= $dir_name . "/";
             $save_url .= $dir_name . "/";
             if (!file_exists($save_path)) {
                 mkdir($save_path);
             }
         }
         $ymd = date("Ymd");
         $save_path .= $ymd . "/";
         $save_url .= $ymd . "/";
         if (!file_exists($save_path)) {
             mkdir($save_path);
         }
         //新文件名
         $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;
         //移动文件
         $file_path = $save_path . $new_file_name;
         if (move_uploaded_file($tmp_name, $file_path) === false) {
             $this->alert("上传文件失败。");
         }
         @chmod($file_path, 0644);
         $file_url = $save_url . $new_file_name;
         if ($istmp) {
             require_once COMMON_PATH . "XThumb.php";
             $imgtmp = new XThumb();
             $target = $save_path . 'tmp_' . $new_file_name;
             $imgtmp->imgZoom($file_path, '180', '120', $target);
             $file_url = $save_url . 'tmp_' . $new_file_name;
         }
         header('Content-type: text/html; charset=UTF-8');
         $json = new Services_JSON();
         echo $json->encode(array('error' => 0, 'url' => $file_url));
         exit;
     }
 }
示例#3
0
 public function imgcutAction()
 {
     $dir = ADDS_PATH;
     $filename = reqstr('file', '');
     $type = reqstr('type', '');
     $filePath = $dir . $filename;
     //获取原始文件后缀
     $file_ext = pathinfo($filePath, PATHINFO_EXTENSION);
     //获取原始文件名
     $file_name = pathinfo($filePath, PATHINFO_FILENAME);
     if ($file_ext == 'jpg') {
         $file_ext = 'jpeg';
     }
     //创建画布函数重组
     $d_func = 'imagecreatefrom' . $file_ext;
     $res = $d_func($filePath);
     $dst_x = reqnum('x', 0);
     $dst_y = reqnum('y', 0);
     $dst_w = reqnum('w', 0);
     $dst_h = reqnum('h', 0);
     $dst = imagecreatetruecolor($dst_w, $dst_h);
     imagecopyresampled($dst, $res, 0, 0, $dst_x, $dst_y, $dst_w, $dst_h, $dst_w, $dst_h);
     //图片保存函数重组
     $s_func = 'image' . $file_ext;
     $flag = true;
     if ($file_ext == 'jpeg') {
         $flag = $s_func($dst, $filePath, 100);
     } else {
         $flag = $s_func($dst, $filePath);
     }
     if ($flag) {
         //图片缩略处理
         $XImg = new XThumb();
         if ($type) {
             switch ($type) {
                 case 1:
                     $XImg->imgZoom($filePath, 234, 168, $dir . $file_name . '-android-1' . $file_ext);
                     $XImg->imgZoom($filePath, 264, 197, $dir . $file_name . '-android-2' . $file_ext);
                     $XImg->imgZoom($filePath, 352, 260, $dir . $file_name . '-android-3' . $file_ext);
                     $XImg->imgZoom($filePath, 528, 390, $dir . $file_name . '-android-4' . $file_ext);
                     break;
                 case 2:
                     $XImg->imgZoom($filePath, 471, 390, $dir . $file_name . '-ios-1' . $file_ext);
                     break;
                 case 3:
                     $XImg->imgZoom($filePath, 471, 258, $dir . $file_name . '-ios-2' . $file_ext);
                     break;
                 case 4:
                     $XImg->imgZoom($filePath, 480, 252, $dir . $file_name . '-android-1' . $file_ext);
                     $XImg->imgZoom($filePath, 540, 288, $dir . $file_name . '-android-2' . $file_ext);
                     $XImg->imgZoom($filePath, 720, 380, $dir . $file_name . '-android-3' . $file_ext);
                     $XImg->imgZoom($filePath, 1080, 570, $dir . $file_name . '-android-4' . $file_ext);
                     break;
                 case 5:
                     $XImg->imgZoom($filePath, 960, 576, $dir . $file_name . '-ios' . $file_ext);
                     break;
             }
         }
         echo "<script type='text/javascript'>window.parent.cutAfter('" . $filename . "');</script>";
         //echo "<script type='text/javascript'>window.parent.cutAfter('1.png');</script>";
     }
     imagedestroy($dst);
     imagedestroy($res);
 }