我已经在Flash中创建了一个链接到PHP脚本的上传按钮,我想知道是否有任何方法可以在用户上传时将所有图像转换为PNG?这就是我到目前为止所做的,但它似乎对我没有用,有人能指出我正确的方向吗?
<?php
if (move_uploaded_file($_FILES['Filedata']['tmp_name'],
"Parts/userdata/" . $_FILES['Filedata']['name']))
{
switch ($_FILES['Filedata']['type']) {
case ".jpg": case ".jpeg":
$image = imagecreatefromjpeg($_FILES['Filedata']['name']);
imagepng($image, $_FILES['Filedata'] . 'png');
imagedestroy($image);
break;
case "gif":
$image = imagecreatefromgif($_FILES['Filedata']['name']);
imagepng($image, $_FILES['Filedata'] . 'png');
imagedestroy($image);
break;
default:
echo "PNG Given";
}
echo "OK";
}
else
{
echo "ERROR";
}
?>
答案 0 :(得分:5)
查看我的一些代码,我认为
imagepng($image, $_FILES['Filedata'] . 'png');
应该阅读
imagepng($image, $_FILES['Filedata']['name'] . 'png');
或类似的东西。您可能希望使用basename
或类似内容删除扩展程序。 (http://php.net/manual/en/function.basename.php)