曹振华

posts - 45, comments - 0, trackbacks - 0, articles - 0
  PHP博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

 


/*-------------------------    
    上传文件
本程序功能:多文件多类型上传,凡是遇到图片,就生成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;
    }

只有注册用户登录后才能发表评论。
网站导航: