Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传时调整照片大小_Php_Image - Fatal编程技术网

Php 上传时调整照片大小

Php 上传时调整照片大小,php,image,Php,Image,可能重复: 我有一个网站,用户可以上传照片。现在,我开始意识到一些照片需要重新调整大小和转换。我知道如何上传和移动照片,但如果照片太大,我该如何调整其大小,如果不是,我该如何将其转换为JPEG格式 以下是我的PHP: if ($_FILES['media']['size'] != 0) { $target= UPLOADPATH . $media; move_uploaded_file($_FILES['media']['tmp_name'], $target); $q

可能重复:

我有一个网站,用户可以上传照片。现在,我开始意识到一些照片需要重新调整大小和转换。我知道如何上传和移动照片,但如果照片太大,我该如何调整其大小,如果不是,我该如何将其转换为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');
}

这里有一个建议:

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

请勿重新调整上传图像的大小。按需重新调整图像大小,例如使用**

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

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

**在使用phpThumb时,我建议花一些时间检查它的配置。特别是与安全性和缓存相关的设置。创建输出图像分辨率的白名单也是一个好主意。

但是,建议对图像进行大量缓存。不太可能更改的图像和大小最好缓存更长的时间。没错,这一点值得一提。phpThumb有这个功能。如果你缓存,那么这是完美的DDOS攻击和“请求盘片满”攻击等等。这又回到了你应该保持原样并在上传时调整大小的观点。我添加了一个关于白色列表图像大小的注释。