/**
* 生成高质量的缩略图函数
*
* @param 原图片地址 $img_tempname
* @param 缩略图最大宽度 $max_width
* @param 生成缩略图地址 $dst_url
* @return unknown
*/
public function createDstImage($img_tempname,$max_width,$dst_url)
{
global $uploadpath,$id,$uploadtype;
if (!file_exists($img_tempname))
{
die('抱歉,您要上传的图片不存在!');
}
$img_src=file_get_contents($img_tempname);
$image=imagecreatefromstring($img_src);//用该方法获得图象,可以避免“图片格式”的问题
$width=imagesx($image);//取得图像宽度
$height=imagesy($image);//取得图像高度
$x_ratio=$max_width/$width;//宽度的比例
if ($width<=$max_width)
{
$tn_width=$width;
$tn_height=$height;
}
else
{
$tn_width=$max_width;
$tn_height=round($x_ratio*$height);
}
if (function_exists('imagecreatetruecolor')&&(function_exists('imagecopyresampled')))
{
/*生成高质量的缩略图方法*/
$dst=imagecreatetruecolor($tn_width,$tn_height);//新建一个真彩色图象
imagecopyresampled($dst,$image,0,0,0,0,$tn_width,$tn_height,$width,$height);//重采样拷贝部分图像并调整大小
} else {
$dst=imagecreate($tn_width,$tn_height);
imagecopyresized($dst,$image,0,0,0,0,$tn_width,$tn_height,$width,$height);
}
imagejpeg($dst,$dst_url,100);//以JPEG格式将图像输出到浏览器或文件,100(最佳质量,文件最大)。默认为IJG默认的质量值(大约75)
imagedestroy($image);
imagedestroy($dst);
if (!file_exists($dst_url))
{
return false;
} else {
return basename($dst_url);
}
}
/**
* 函数功能:上传图片
*
* @param 图片实际文件名 $imgname
* @param 图片临时文件名 $imgtmpname
* @param 图片大小 $imgsize
* @param 图片上传的目录 $uploadpath
* @param course_id或unit_id $id
* @param 图片上传归属,比如course/或unit/ $uploadtype
* @return 图片上传的信息
*/
public function uploadImage($imgname,$imgtmpname,$uploadpath,$id,$uploadtype)//上传图片函数
{
$savepath=$uploadpath.'/'.$uploadtype.'/';
$imgtypearray=array('gif','jpg','jpeg','png','bmp');
$imgname=strtolower($imgname);//将文件名转换为小写
$imgpathinfo=pathinfo($imgname);
$extension=$imgpathinfo["extension"];
$uploadimage=$savepath.$id.'_0.'.$extension;
if (!in_array($extension,$imgtypearray))
{
$text=implode(",",$imgtypearray);
echo "<center><font color=red>对不起,你上传的图片类型错误,只能上传".$text."格式的图片!</font><br/>";
echo "<a href='javascript:history.go(-1)'>返回继续上传</a></center>";
exit();
}
if ($_FILES['imgname']['error']>0)
{
echo "<center><font color=red>错误</font>:<br/>";
switch ($_FILES['imgname']['error']>0)
{
case 1:
return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值';
case 2:
return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
case 3:
return '文件只有部分被上传';
case 4:
return '没有文件被上传';
case 5:
return '未知错误!';
case 6:
return '找不到临时文件夹';
case 7:
return '文件写入失败';
default:
return '未知错误!';
}
}
/*生成所略图最大宽度为250,保存格式为$courseid_1.jpg*/
$dst_url1=$savepath.'/'.$id.'_1.'.jpg;
$this->createDstImage($imgtmpname,250,$dst_url1);
/*生成所略图最大宽度为80,保存格式为$courseid_2.jpg*/
$dst_url2=$savepath.'/'.$id.'_2.'.jpg;
$this->createDstImage($imgtmpname,80,$dst_url2);
/*生成所略图最大宽度为60,保存格式为$courseid_3.jpg*/
$dst_url3=$savepath.'/'.$id.'_3.'.jpg;
$this->createDstImage($imgtmpname,60,$dst_url3);
/*上传原图片*/
if (@is_uploaded_file($imgtmpname))
{
if (@!move_uploaded_file($imgtmpname,$uploadimage))
{
echo "<center><font color=red>抱歉,图片上传失败!</font><br/>";
echo "<a href='javascript:history.go(-1)'>返回继续上传</a></center>";
return false;
} else {
echo "<center><font color=blue>恭喜您,图片上传成功!</font>";
return true;
}
}
}
[/php]
* 生成高质量的缩略图函数
*
* @param 原图片地址 $img_tempname
* @param 缩略图最大宽度 $max_width
* @param 生成缩略图地址 $dst_url
* @return unknown
*/
public function createDstImage($img_tempname,$max_width,$dst_url)
{
global $uploadpath,$id,$uploadtype;
if (!file_exists($img_tempname))
{
die('抱歉,您要上传的图片不存在!');
}
$img_src=file_get_contents($img_tempname);
$image=imagecreatefromstring($img_src);//用该方法获得图象,可以避免“图片格式”的问题
$width=imagesx($image);//取得图像宽度
$height=imagesy($image);//取得图像高度
$x_ratio=$max_width/$width;//宽度的比例
if ($width<=$max_width)
{
$tn_width=$width;
$tn_height=$height;
}
else
{
$tn_width=$max_width;
$tn_height=round($x_ratio*$height);
}
if (function_exists('imagecreatetruecolor')&&(function_exists('imagecopyresampled')))
{
/*生成高质量的缩略图方法*/
$dst=imagecreatetruecolor($tn_width,$tn_height);//新建一个真彩色图象
imagecopyresampled($dst,$image,0,0,0,0,$tn_width,$tn_height,$width,$height);//重采样拷贝部分图像并调整大小
} else {
$dst=imagecreate($tn_width,$tn_height);
imagecopyresized($dst,$image,0,0,0,0,$tn_width,$tn_height,$width,$height);
}
imagejpeg($dst,$dst_url,100);//以JPEG格式将图像输出到浏览器或文件,100(最佳质量,文件最大)。默认为IJG默认的质量值(大约75)
imagedestroy($image);
imagedestroy($dst);
if (!file_exists($dst_url))
{
return false;
} else {
return basename($dst_url);
}
}
/**
* 函数功能:上传图片
*
* @param 图片实际文件名 $imgname
* @param 图片临时文件名 $imgtmpname
* @param 图片大小 $imgsize
* @param 图片上传的目录 $uploadpath
* @param course_id或unit_id $id
* @param 图片上传归属,比如course/或unit/ $uploadtype
* @return 图片上传的信息
*/
public function uploadImage($imgname,$imgtmpname,$uploadpath,$id,$uploadtype)//上传图片函数
{
$savepath=$uploadpath.'/'.$uploadtype.'/';
$imgtypearray=array('gif','jpg','jpeg','png','bmp');
$imgname=strtolower($imgname);//将文件名转换为小写
$imgpathinfo=pathinfo($imgname);
$extension=$imgpathinfo["extension"];
$uploadimage=$savepath.$id.'_0.'.$extension;
if (!in_array($extension,$imgtypearray))
{
$text=implode(",",$imgtypearray);
echo "<center><font color=red>对不起,你上传的图片类型错误,只能上传".$text."格式的图片!</font><br/>";
echo "<a href='javascript:history.go(-1)'>返回继续上传</a></center>";
exit();
}
if ($_FILES['imgname']['error']>0)
{
echo "<center><font color=red>错误</font>:<br/>";
switch ($_FILES['imgname']['error']>0)
{
case 1:
return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值';
case 2:
return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
case 3:
return '文件只有部分被上传';
case 4:
return '没有文件被上传';
case 5:
return '未知错误!';
case 6:
return '找不到临时文件夹';
case 7:
return '文件写入失败';
default:
return '未知错误!';
}
}
/*生成所略图最大宽度为250,保存格式为$courseid_1.jpg*/
$dst_url1=$savepath.'/'.$id.'_1.'.jpg;
$this->createDstImage($imgtmpname,250,$dst_url1);
/*生成所略图最大宽度为80,保存格式为$courseid_2.jpg*/
$dst_url2=$savepath.'/'.$id.'_2.'.jpg;
$this->createDstImage($imgtmpname,80,$dst_url2);
/*生成所略图最大宽度为60,保存格式为$courseid_3.jpg*/
$dst_url3=$savepath.'/'.$id.'_3.'.jpg;
$this->createDstImage($imgtmpname,60,$dst_url3);
/*上传原图片*/
if (@is_uploaded_file($imgtmpname))
{
if (@!move_uploaded_file($imgtmpname,$uploadimage))
{
echo "<center><font color=red>抱歉,图片上传失败!</font><br/>";
echo "<a href='javascript:history.go(-1)'>返回继续上传</a></center>";
return false;
} else {
echo "<center><font color=blue>恭喜您,图片上传成功!</font>";
return true;
}
}
}
[/php]