-1

重複の可能性:
PHP で画像のサイズを変更してアップロードする

ユーザーが写真をアップロードできる Web サイトがあります。今、私はいくつかの写真のサイズを変更して変換する必要があることに気付き始めています. 写真をアップロードして移動する方法は知っていますが、大きすぎる場合はサイズを変更し、そうでない場合は 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

ここに1つの提案があります:

受け入れるファイルについていくつかのルールを作成します (例: JPEG と PNG、2MB 未満、最大 5 メガピクセル)。「受け入れ可能な」ファイルを便利な場所 (ドキュメント ルート以外など) に保存します。

アップロード時に画像のサイズを変更しないでくださいたとえば、 phpThumb ** を使用して、オンデマンドで画像のサイズを変更します。

このアプローチは、長期的には、アップロード時に画像のサイズを変更するよりも優れていることが証明されます。

  • ウェブサイトのレイアウトが変わります
  • 要件の変更を予測する
    • ライトボックス スタイルのスライドショーを追加したら、突然サムネイルが必要になった
  • デバイスごとに異なる解像度を提供する必要がある
  • 画像を処理する必要がある (例: 画像に会社名を書く)
    • 会社名が変わります
  • すべてのサムネイルを正方形に変更する必要があると言われます

** phpThumb を使用する場合は、時間をかけて設定を行うことをお勧めします。特にセキュリティとキャッシュ関連の設定。出力画像解像度のホワイトリストを作成することもお勧めします。

于 2013-01-06T20:54:45.850 に答える