1. ホーム
  2. php

[解決済み] imagejpeg()関数で画像ファイルを保存する

2022-02-19 22:46:32

質問

画像を2つの異なるディレクトリにアップロードしようとしていますが imagejpeg() 関数を使用して、画像をいずれかのディレクトリに配置します。2つのディレクトリの名前は uploadsresized .

これを実現するための私のコードは以下のとおりです。

$tmp_name = $_FILES["fileToUpload"]["tmp_name"];
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    imagejpeg($tmp_name,"resized/newimage.jpg");

    echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} 

しかし、次のようなエラーが発生します。 imagejpeg() expects parameter 1 to be resource, string given in /home/sites/aejhyun.com/public_html/Syrian Project/upload.php on line 41 . また、ここを見て少し調べてみました。 http://php.net/manual/en/function.imagejpeg.php http://php.net/manual/en/function.move-uploaded-file.php . しかし、この問題を解決することができませんでした。誰か助けてくれませんか?

解決方法は?

この関数は実際の画像を必要とし、その場所や名前を必要としません。もしサイズを変更したいのであれば、まず画像として開き、必要なことを行い、最後に保存する必要があります。

ということは、これは文字列

$tmp_name = $_FILES["fileToUpload"]["tmp_name"];

に移動させた後 ターゲットファイル 画像として開くことができます。

$image = imagecreatefromjpeg($target_file);

これで、ファイル名だけでなく画像そのものを手に入れることができ、それを イメージジェーペグ

imagejpeg($image,"resized/newimage.jpg");