-1

可能重复:
PHP 调整大小并上传图片

我有一个用户可以上传照片的网站。现在,我开始意识到有些照片需要重新调整大小和转换。我知道如何上传和移动照片,但是如果它们太大,我该如何重新调整它们的大小,如果不是,如何将它们转换为 JPEG?

这是我的PHP:

if ($_FILES['media']['size'] != 0) {
    $target= UPLOADPATH . $media;
    move_uploaded_file($_FILES['media']['tmp_name'], $target);
    $query= "INSERT INTO posts (user_id, story, media, date, view, type)
                        VALUES ('$user_id', '$story', '$media', now(), '$view', '1')";
    mysqli_query($connect, $query) or die('error with query 2');
}
4

1 回答 1

3

这里有一个建议:

对您将接受的文件制定一些规则(例如 JPEG 和 PNG,小于 2MB,最大 5 兆像素)。将“可接受的”文件存储在方便的位置,可能在文档根目录之外。

不要在上传时重新调整图像大小。按需调整图像大小,例如使用phpThumb **。

从长远来看,这种方法将证明比在上传时重新调整图像大小更好:在以下情况下,您将永远不需要处理所有(可能数百张)图像:

  • 您的网站布局发生变化
  • 您的项目需求发生变化
    • 你添加了一个灯箱风格的幻灯片,突然你需要它的缩略图
  • 您需要为不同的设备提供不同的分辨率
  • 您需要处理图像(例如在图像上写下您的公司名称)
    • 您的公司名称更改
  • 您被告知所有缩略图都需要更改为方形

** 使用 phpThumb 时,我建议花一些时间来完成它的配置。尤其是安全和缓存相关的设置。创建输出图像分辨率的白名单也是一个好主意。

于 2013-01-06T20:54:45.850 回答