将上传的图片转换为PNG格式的PHP脚本

3

我有一个用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";
    }
?>

你在 imagepng($image, $_FILES['Filedata'] . 'png'); 中没有漏掉什么吗?$_FILES['Filedata'] 是一个数组。 - morgar
这并不是一个关于ActionScript 3的问题,对吧?还是你正在寻找一种在AS3中创建PNG图像并将其发送到服务器的方法? - frankhermes
我正在尝试在图像上传到服务器后转换它。ActionScript 的方法对我来说有点绕,所以这并不是一个 AS3 的问题,抱歉! - user595334
仅仅更改文件名和扩展名就可以吗? - makyol
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
5

看着我的一些代码,我觉得

imagepng($image, $_FILES['Filedata'] . 'png');

应该阅读

imagepng($image, $_FILES['Filedata']['name'] . 'png');

或者类似的操作。你可能想要使用basename或者类似的函数来删除扩展名。(http://php.net/manual/en/function.basename.php)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,