<div class="section">
フォームから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