Posted on 2008-10-16 09:44
曹振华 阅读(204)
评论(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;
}