0

Web で無料の画像アップロード スクリプトを見つけましたが、JPG/JPEG 形式しか使用できません。

PNG および BMP 形式のアップロードを許可するにはどうすればよいですか?

for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)  
{  
    if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")  
    {  
        $images = $_FILES["fileUpload"]["tmp_name"][$i];  
        $new_images = "thumbnails_".$_FILES["fileUpload"]["name"][$i];  
        copy($_FILES["fileUpload"]["tmp_name"][$i],"PIC_FOLDER".$_FILES["fileUpload"]["name"][$i]);  
        $width=100; //*** Fix Width & Heigh (Autu caculate) ***//  
        $size = GetimageSize($images);  
        $height = round($width*$size[1]/$size[0]);  
        $images_orig = ImageCreateFromJPEG($images);  
        $photoX = ImagesX($images_orig);  
        $photoY = ImagesY($images_orig);  
        $images_fin = ImageCreateTrueColor($width, $height);  
        ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);  
        ImageJPEG($images_fin,"PIC_FOLDER".$new_images);  
        ImageDestroy($images_orig);  
        ImageDestroy($images_fin);  

        echo "Resize Successful.<br>";
    }  
}  

前もって感謝します

4

1 に答える 1

0

コメントにあるように、すでに任意のタイプをアップロードできますが、サムネイルを作成するには jpeg である必要があります。タイプを確認してから、それを使用して画像を開きます

    $src= $images;
    $image_info = @getimagesize($src);
    list($imgwidth,$imgheight,$image_type) = $image_info;
    if( $image_type == IMAGETYPE_JPEG ) {
        $images_orig    = @imagecreatefromjpeg($src);
    } else if( $image_type == IMAGETYPE_GIF ) {
        $images_orig    = @imagecreatefromgif($src);
    } else if( $image_type == IMAGETYPE_PNG ) {
        $images_orig    = @imagecreatefrompng($src);
    } else if( $image_type == IMAGETYPE_BMP ) {
        $images_orig    = @imagecreatefrombmp($src);
    }

$images_orig = ImageCreateFromJPEG($images); の代わりにこれを使用してください。

画像を元の形式で保存したい場合は、ImageJPEG($images_fin,"PIC_FOLDER".$new_images); の代わりに下部で同様のチェックを行います。

于 2012-04-22T18:04:31.433 に答える