原生上传图片
上传图片 $dir_type:文件夹名称 $name :图片name
function uploadfile_common($dir_type,$name){
if($_SESSION['admin_id']){
if ((($_FILES[$name]["type"] == "image/gif")
|| ($_FILES[$name]["type"] == "image/jpeg")
|| ($_FILES[$name]["type"] == "image/jpeg")
|| ($_FILES[$name]["type"] == "image/bmp")
|| ($_FILES[$name]["type"] == "image/png"))
&& ($_FILES[$name]["size"] < 10000 * 1024))
{
if ($_FILES[$name]["error"] > 0)
{
$arr = array('status'=>404,'data'=>$_FILES[$name]["error"]);
return $arr;
}
else
{
$filename = filename_common($_FILES[$name]["name"],$dir_type.'/');
move_uploaded_file($_FILES[$name]["tmp_name"],iconv("UTF-8", "gb2312", ROOT_PATH.$filename));
$arr = array('status'=>200,'data'=>$filename);
return $arr;
}
}
else
{
$arr = array('status'=>404,'data'=>'格式不正确或图片大于10M');
return $arr;
}
}else{
$arr = array('status'=>400,'data'=>'身份验证不通过');
return $arr;
}
}
/*
生成文件名
*/
function filename_common($filename,$dirname){
$d_name = '/public/upload/'.$dirname.date('Y').'/'.date('m-d');
$filename = $d_name.'/'.time().rand(1000,9999).'_'.$filename;
if(!file_exists(ROOT_PATH.$d_name)){
$dir = iconv("UTF-8", "GBK", ROOT_PATH.$d_name);
mkdir($dir,0777,true);
if(file_exists($filename)){
filename($filename,$dirname);
}else{
return $filename;
}
}else{
if(file_exists($filename)){
filename($filename,$dirname);
}else{
return $filename;
}
}
}
//生成缩略图
public function image_resize($imagedata, $width, $height, $per = 0) {
// 1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM
// 获取图像信息
list($bigWidth, $bigHight, $bigType) = getimagesizefromstring($imagedata);
// 缩放比例
if ($per > 0) {
$width = $bigWidth * $per;
$height = $bigHight * $per;
}
// 创建缩略图画板
$block = imagecreatetruecolor($width, $height);
// 启用混色模式
imagealphablending($block, false);
// 保存PNG alpha通道信息
imagesavealpha($block, true);
// 创建原图画板
$bigImg = imagecreatefromstring($imagedata);
// 缩放
imagecopyresampled($block, $bigImg, 0, 0, 0, 0, $width, $height, $bigWidth, $bigHight);
// 生成临时文件名
$tmpFilename = tempnam(sys_get_temp_dir(), 'image_');
// 保存
switch ($bigType) {
case 1: imagegif($block, $tmpFilename);
break;
case 2: imagejpeg($block, $tmpFilename);
break;
case 3: imagepng($block, $tmpFilename);
break;
}
// 销毁
imagedestroy($block);
// $bigType_arr = array('gif','jpg','png');
// if(!$bigType_arr[$bigType-1]){
// return array('status'=>404);
// }else{
// return array('status'=>200,'tmpFilename'=>$tmpFilename,'bigType'=>$bigType_arr[$bigType-1]);
// }
$image = file_get_contents($tmpFilename);
unlink($tmpFilename);
return $image;
}