1

画像を自分のフォルダにアップロードしており、アップロードした画像からサムネイルを作成しました。

/*
save this image to try -- 
http://images.dpchallenge.com/images_challenge/0-999/319/800/Copyrighted_Image_Reuse_Prohibited_157378.jpg 
*/

    $source = 'H:/xampp/htdocs/myfolder/new.jpg';
    $destination = $_SERVER['DOCUMENT_ROOT'] . 'myfolder/New/';
    $quality = 60;
    $info = getimagesize($source);
    if ($info['mime'] == 'image/jpeg') {
        $image = imagecreatefromjpeg($source);
    }
    echo $image;
    print(imagejpeg($image, $destination, $quality));
    imagejpeg($image, $destination, $quality);

しかし、それはまったく何も作成していません。私はすでに画像をアップロードしています

ソース=> /myfolder/

次に、小さいサイズのサムネイルを作成して保存する方法

宛先=> myfolder/New/

または私のアプローチが間違っている可能性があります。そうであれば、正しい方法を教えてください。

どんな助けでも本当に感謝しています。

4

4 に答える 4

2

これを試してみてください.jpgおよび.png画像で機能します

<?php
$file = 'H:/xampp/htdocs/myfolder/phool.png';
$pathToSave = 'H:/xampp/myfolder/New/';
$what = getimagesize($file);
$file_name = basename($file);
//print "MIME ".$what['mime'];
switch(strtolower($what['mime']))
{
    case 'image/png':
            $img = imagecreatefrompng($file);
            $new = imagecreatetruecolor($what[0],$what[1]);
            imagecopy($new,$img,0,0,0,0,$what[0],$what[1]);
            header('Content-Type: image/png');
            imagepng($new,$pathToSave.$file_name,9);
            imagedestroy($new);
        break;
    case 'image/jpeg':
            $img = imagecreatefromjpeg($file);
            $new = imagecreatetruecolor($what[0],$what[1]);
            imagecopy($new,$img,0,0,0,0,$what[0],$what[1]);
            header('Content-Type: image/jpeg');   
            imagejpeg($new,$pathToSave.$file_name);
            imagedestroy($new);
        break;
    case 'image/gif':
        $img = imagecreatefromgif($file);
        break;
    default: die();
}
?>
于 2014-10-10T11:28:20.790 に答える