前段时间由于项目需要,要实现图片上传并且压缩生成缩略图的功能。
接口代码如下:
$allowext = array ( 'png', 'jpg', 'jpeg', 'gif','mp4','doc');
$fileElement = 'file';
$filepath_rel = 'userfiles/upload/chatfile/'.date("Ymd")."/"; // 相对路径
//这里的$FILE_PATH 是网站的根目录
$filepath_abs = $FILE_PATH . $filepath_rel; // 绝对路径
if(!file_exists($filepath_abs))
{
mkdir($filepath_abs,0777,true);}
$fup = new FileUpload ( '100M', $allowext );
$r = $fup->upload ( $fileElement, $filepath_abs, '', true );
$name_abs = $filepath_abs . $r;
$name_rel = $filepath_rel . $r;
//图片等比例压缩
$pic =$fup->getThumb($FILE_PATH,$name_rel,300,300);
//upload 方法实现图片上传
//参数$elename : file域的名称。
//$newname --上传以后的名字;可以为空。
//$savepath --文件保存路径,一定要以 “/” 结尾。
//$auto_rename 是否自动重命名
//如果$newname 为空 且 auto_rename 为false ,将保留原来的文件名字
function upload($elename, $savepath, $newname = '', $auto_rename = false){
if(empty($_FILES[$elename])) throw new Exception('没有上传文件或文件大小超过系