下面的代码是从O'Reilly Book中修改的 - 学习PHP,MySQL和JavaScript,可以在这里找到
为什么所有图像类型都转换为.jpg?
.jpg是否提供最佳的质量/尺寸比例?
public static function upload()
{
$email=$_SESSION['email'];
$path1="i8.jpg";
$path2="z_p/$email.jpg";
$path3="i9.jpg";
$path4="z_p/$email-1.jpg";
if(move_uploaded_file($_FILES['ufile']['tmp_name'], $path2))
{
$typeok=TRUE;
switch($_FILES['ufile']['type'])
{
case "image/gif":
$src = imagecreatefromgif($path2);
break;
case "image/jpeg":
case "image/pjpeg":
$src = imagecreatefromjpeg($path2);
break;
case "image/png":
$src = imagecreatefrompng($path2);
break;
default:
$typeok = FALSE;
break;
}
if($typeok)
{
list($w, $h) = getimagesize($path2);
$tw = $w;
$th = $h;
/*Run 1*/
$max = 50;
if($w > $h && $max < $w)
{
$th = $max / $w * $h;
$tw = $max;
}
elseif ($h > $w && $max < $h)
{
$tw = $max / $h * $w;
$th = $max;
}
elseif ($max < $w)
{
$tw = $th = $max;
}
$dst = imagecreatetruecolor($tw, $th);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tw, $th, $w, $h);
imagejpeg($dst, $path2);
imagedestroy($dst);
/* Rune 2 */
$max = 20;
if($w > $h && $max < $w)
{
$th = $max / $w * $h;
$tw = $max;
}
elseif ($h > $w && $max < $h)
{
$tw = $max / $h * $w;
$th = $max;
}
elseif ($max < $w)
{
$tw = $th = $max;
}
$dst = imagecreatetruecolor($tw, $th);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tw, $th, $w, $h);
imagejpeg($dst, $path4);
imagedestroy($dst);
imagedestroy($src);
}
}
else
{
copy($path1, $path2);
copy($path3, $path4);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |