PHPで画像フォーマットの変換

            <div class="section">

テストでJPEG画像とPNGに変換する必要があったので、

フォームからJPEG画像をアップして、テンポラリに置かれた画像をPNGに変換するプログラムを書いた。

$path = $_FILES['image']['tmp_name'];
if (is_uploaded_file($path)) {
$new_path_png = 'hoge.png';
$new_path_jpg = 'hoge.jpg';
//JPEGファイルを読み込む
$tmp = @imagecreatefromjpeg($path);
//8ビットカラーにする
//if (!imagetruecolortopalette($tmp, false, 255)) {
//  echo 'error';
//}
//PNG画像を保存する
if (!imagepng($tmp, $new_path_png)) {
echo 'error';
}
//JPEG画像を保存する
if (!move_uploaded_file($path, $new_path_jpg)) {
echo 'error';
}
//パーミッションを変更する
if (!chmod($new_path_jpg,0755)) {
echo 'error';
}
if (!chmod($new_path_png,0755)) {
echo 'error';
}
}

以下のメソッドはGDがないと使えないですね。

imagecreatefromjpeg

imagetruecolortopalette

imagepng

参考

http://php.net/manual/en/function.imagecreatefromjpeg.php
http://php.net/manual/ja/function.imagetruecolortopalette.php
http://php.net/manual/ja/function.imagepng.php