Web Tech Log by 1KB

Icon

Web開発、Webデザイン、SEO、携帯コンテンツなどWebにまつわるテクノロジーを追っかけるブログ。旧名「Web屋に復帰した人間のリハビリ日記」

PHPでアップロードしたJPEGファイルをGIFファイルに変換する

とあるPHPスクリプトで、GIFファイルのみアップロードを許可してJPEGファイルがアップロードしたらエラーを返していました。ユーザビリティを考えるとあまり親切ではないので、JPEGファイルがアップロードされたら、自動的に変換するようにしようと思い、ちょいと調べてみました。

//アップロード先パス
$filepath = "/path/to/filename.gif";
//アップロードしたファイルを保存
move_uploaded_file($_FILES['file']['tmp_name'], $filepath);
//書き込み許可属性を付ける
chmod($filepath, 0777);
if (preg_match("/jpeg/", $_FILES['file']['type'])) {//JPEGの場合GIF変換
//JPEGファイルを展開
$img = imagecreatefromjpeg($filepath);
//GIF形式で保存
imagegif($img, $filepath);
//メモリを解放
imagedestroy($img);
}

※実際には様々なエラー処理が必要です。PHPでのファイルアップロード処理に関しては割愛します。他を参照してください。

基本的にはPHPの関数 imagecreatefromjpeg() と imagegif() を使用して簡単にできました。もちろんGDのサポートは必須です。

Category: php

Tagged:

Leave a Reply

킹ēǂ݂uOp[c