- /*-------------------------
- 上传文件
- 本程序功能:多文件多类型上传,凡是遇到图片,就生成jpg缩略图,文件与原始图片保存在同一目录下,
- 返回:一个数组
- array(
- [files] =>array(
- [0] => doc
- )
- [pics] =>array(
- [0] => jpg,
- [1] => png
- )
- )
- $num:图片计数用,放在文件的名字中用
- $input_file_name:前台的<input type=file>中的name;
- ---------------------------*/
- function _uploadFiles($input_file_name,$time) {//可传一个或多个
- $num = 0;//多文件上传时的计数器 //
- $prefix = date('ym',$time);
- $fileDir = FLEA::getAppInf('absPath') . DS .'sale'. DS .'u'. DS . 'f' . DS . $prefix;//这是要上传到的目录,可自己定义
- $thumbDir = FLEA::getAppInf('absPath') . DS .'sale'. DS .'u'. DS . 't' . DS . $prefix;
- //dump($fileDir);exit;
- // 创建需要的目录
- FLEA::loadHelper('file');
- mkdirs($fileDir);
- mkdirs($thumbDir);
- //这三项 提示框中用到
- $allowExts = '.jpg/.png/.gif/.pdf/.doc/.html';//当是允许上传的文件类型时
- $picExts = '.jpg/.png/.gif';//当是图片类型时
- $maxSize =2000*1024; // 2000KB
- FLEA::loadClass('FLEA_Helper_FileUploader');
- $uploader =& new FLEA_Helper_FileUploader();
- //dump($uploader);exit();
- $files = & $uploader->getFiles();
- foreach ($files as $file) {
- if (!$uploader->isFileExist($input_file_name.$num)) {
- //exit($input_file_name.$num);
- echo "<script>alert('你有文件或图片上传框没有选择上传,请到相应的修改页面进行修改上传')</script>";
- //js_alert('你有文件或图片上传框没有上传,请到相应的修改页面进行修改上传,', '', $_SERVER[HTTP_REFERER]);
- ///exit;
- }
- if (!$file->check($allowExts,$maxSize)) {
- js_alert("上传的文件类型不符或者超过了大小限制,允许:{$allowExts}文件,单个大小不大于{$maxSize}",'',$_SERVER[HTTP_REFERER]);
- return false;
- }
- if($file->check($picExts)){
- $num++;
- // 文件名根据当前时间和上传文件的临时文件名生成,确保不会产生重复的文件名
- $basename = $_COOKIE['id']."_".$time."_".$num;
- $fileFilename = $basename . '.'.$file->getExt();
- $thumbFilename = 'small_' . $basename . '.jpg';
- $arr_Exts['pics'][] = $file->getExt();//可返回后缀名
- // 生成缩略图(220 x 220 像素大小)
- FLEA::loadHelper('image');
- $image =& FLEA_Helper_Image::createFromFile($file->getTmpName(), $file->getExt());
- $image->crop(100, 100, true, true);
- $image->saveAsJpeg($thumbDir . DS . $thumbFilename);
- $image->destory();
- } else {
- $basename = $_COOKIE['id']."_".$time;
- $fileFilename = $basename . '.'.$file->getExt();
- $arr_Exts['files'][] = $file->getExt();//可返回后缀名
- }
- // 保存原始文件
- $file->move($fileDir . DS . $fileFilename);
- chmod($fileDir . DS . $fileFilename,0777);
- }
- return $arr_Exts;
- }
fleaphp 上传文件多文件多类型上传 生成jpg缩略图
最新推荐文章于 2018-11-08 17:53:00 发布