在上传时调整照片大小

时间:2013-01-06 20:48:10

标签: php

  

可能重复:
  How to prevent SQL injection in PHP?
  PHP resize and upload an image

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

1 个答案:

答案 0 :(得分:3)

这是一个建议:

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

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

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

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

**使用phpThumb时,我建议花一些时间进行配置。特别是安全和缓存相关的设置。另外一个好主意是创建一个输出图像分辨率的白名单。