gpt4 book ai didi

php - 为什么这位受欢迎的作者将所有图像都转换为 .jpg?

转载 作者:行者123 更新时间:2023-12-02 07:45:29 25 4
gpt4 key购买 nike

以下代码修改自 O'Reilly 书籍 - 学习 PHP、MySQL 和 JavaScript,可以找到 here

为什么所有图像类型都转换为 .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);
}
}

最佳答案

您可以在 jpeg 文件(或多种图像格式中的任何一种)中隐藏许多令人讨厌的惊喜。通过始终以这种方式重新创建图像,您可以获得一定程度的信心,即您的服务器发布的图像已经过清理。

关于php - 为什么这位受欢迎的作者将所有图像都转换为 .jpg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7374963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com