php upload görüntü, yeniden adlandırmak, küçük ve hem de tasarruf

5 Cevap

Ive move_upload_files işlevi bakarak, ama ben ne gerek şu sanmıyorum.

Ben bir resim (maksimum boyut 2MB png, jpg, gif sadece) sonra bunun bir resmini oluşturmak, sonra yeniden adlandırın ve aynı dizine hem de kaydetmek yüklemek gerekir. Ben hasta upload / o alır, sonra ilk ana dosyayı yeniden adlandırın ve thumbnail oluşturmak rakam. Ama ne fonksiyonlar ben bunu yapmak için bakıyor olmalıdır?

5 Cevap

En az PHP's GD functions bakmak gerekir, ya da daha iyisi Imagick Yaşasın oluşturmak için olacaktır.

Bu öğreticiler katrilyonlar vardır, burada bir çift vardır:

Yoksa sadece bir hazır çözüm, örneğin kullanabilirsiniz:

if(isset($_FILES['p1']) && $_FILES['p1']['tmp_name'] != ''){

    $sizes = array();
    $sizes['50'] = 50;
    $sizes['150'] = 150;
    $sizes['500'] = 500;

    $prefix = time();
    list(,,$type) = getimagesize($_FILES['p1']['tmp_name']);
    $type = image_type_to_extension($type);

    move_uploaded_file($_FILES['p1']['tmp_name'], 'uploads/'.$prefix.$type);

    $t = 'imagecreatefrom'.$type;
    $t = str_replace('.','',$t);
    $img = $t('uploads/'.$prefix.$type);

    foreach($sizes as $k=>$v){

        $width = imagesx( $img );
        $height = imagesy( $img );

        $new_width = $v;
        $new_height = floor( $height * ( $v / $width ) );

        $tmp_img = imagecreatetruecolor( $new_width, $new_height );
        imagealphablending( $tmp_img, false );
        imagesavealpha( $tmp_img, true );
        imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

        $c = 'image'.$type;
        $c = str_replace('.','',$c);
        $c( $tmp_img, 'uploads/'.$k.'_'.$prefix.$type );

    }//


}//

Ben bu kimse yardımcı olur umarım, yükleme, yeniden adlandırın ve 3 farklı başparmak oluşturmak için kullanabilirsiniz.

phpThumb bakabilirsiniz.

PHPThumb Sadece görüntü kaydetmek için izin yöntemi için API arama ... ne ihtiyaç vardır. yükleme ile ilgili görüntü .. burada güzel bir tutorial about it var

@ Ian Wilkinson php.net

daha kaliteli kullanılarak elde edilebilir imagecopyresampled()