0

別のサイズ変更スクリプトが機能しないことについて以前に投稿しましたが、このスクリプトは少し異なる処理を行います。

私は少し遠くに行きましたが、今だけ新しい問題があります。コードの最初の 3 行により、3 つの同一ファイルがターゲット ディレクトリに正常に配置され、それに応じて名前が付けられた 2 つのサムネイル ファイルが作成されます。次に、まだフルサイズのサムネイルをロードしてサイズを変更したいのですが、スクリプトが停止し、値があるimagecreatefromjpeg()ため理由$srcがわかりません。

$sourceその行を削除し$srcて、関数内で置き換えることができると考えたのでimagecopyresized()、さらに近づくことができました。ただし、ターゲット サイズのサムネイルが返されますが、サムネイルは blackです。

move_uploaded_file($tmpFilePath, $newFilePath);
copy($newFilePath, $thumb500);
copy($newFilePath, $thumb200);


function thumbImage($src, $dest, $newheight) {
  list($width, $height) = getimagesize($src);

  $newwidth = $width * ($newheight / $height);

  // Load
  $thumb = imagecreatetruecolor($newwidth, $newheight);
  header('Content-type: image/jpeg');
  $source = imagecreatefromjpeg($src);

  // Resize
  imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

  // Output
  imagejpeg($thumb, $dest);
}

thumbImage($thumb500, $thumb500, 500);
thumbImage($thumb200, $thumb200, 200);

これは共通の問題でなければならないと感じています。何か提案はありますか?

4

2 に答える 2