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

テストで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