• ベストアンサー

デレクトリ内画像一括リサイズ

監視カメラの画像(.jpg)が都度FTPされるのですがサイズが大きいのでリサイズしたくネット検索で1枚づつファイル名指定するのは以下に見つかりました。 <?php list($width, $hight) = getimagesize('./kamera/A2409.jpg'); // 元の画像名を指定してサイズを取得 $baseImage = imagecreatefromjpeg('./kamera/A2409.jpg'); // 元の画像から新しい画像を作る準備 $image = imagecreatetruecolor(1500, 800); // サイズを指定して新しい画像のキャンバスを作成 // 画像のコピーと伸縮 imagecopyresampled($image, $baseImage, 0, 0, 0, 0, 1500, 800, $width, $hight); // コピーした画像を出力する imagejpeg($image , './photo/A2409.jpg'); ?> これらを参考に50枚くらいGDにて 一括リサイズ したいのでご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

<?php foreach (glob("./kamera/*.jpg") as $file) { list($width, $height) = getimagesize($file); // 元の画像名を指定してサイズを取得 $baseImage = imagecreatefromjpeg($file); // 元の画像から新しい画像を作る準備 $image = imagecreatetruecolor(1500, 800); // サイズを指定して新しい画像のキャンバスを作成 // 画像のコピーと伸縮 imagecopyresampled($image, $baseImage, 0, 0, 0, 0, 1500, 800, $width, $height); // コピーした画像を出力する if (!imagejpeg($image, './photo/'.basename($file))) { echo "エラー: 画像を保存できませんでした: ./photo/".basename($file)."\n"; } // メモリを解放 imagedestroy($baseImage); imagedestroy($image); // 処理済みの画像は消す unlink($file); } ?> こんな感じでしょうか。 最後に処理済みのファイルを消していますが、余計なお世話でしたら消すなりコメントアウトするなりしてください。

round12345
質問者

お礼

ご教示ありがとうございます。 いろいろと活用したいと思います。ファイルの減量化ができて良かったです。

Powered by GRATICA

関連するQ&A