2

ユーザーがあらゆる種類の写真をアップロードできるようにするWebサイトがあります。

つまり、gif、jpeg、png

では、アップロード時にファイルを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

3 に答える 3

1

拡張子の名前を変更するだけではうまくいきません。ファイルを変更するには、画像プロセッサを使用する必要があります。

imagemagickをチェックしてください

于 2013-01-07T17:12:28.957 に答える
1

PHPでは、アップロードされたファイルのコンテンツを。のimagecreatefromstring()ようなもので読み込むことから始めますfile_get_content($filePath)。そこから、1つimagejpegを使用して拡張子が付いた別のファイルに書き込みます.jpg

サンプルは次のとおりです。

$handle = imagecreatefromstring(file_get_content($filePath));
imagejpeg($handle,'newfile.jpg',100);

参照

  1. imagejpeg
  2. imagecreatefromstring
  3. file_get_content
于 2013-01-07T17:19:20.257 に答える
0

imagecreatefrom *()のような関数を試してみてください

imagecreatefrompng(youimage);

imagecreatefromgif(youimage);

この関数を使用する前に、ファイル形式を知っておく必要があります。

次に、imagejpeg()関数を使用します

于 2013-01-07T17:18:02.720 に答える