Verot.Net Upload Sınıfı Kullanımı

Merhaba arkadaşlar, uzun zamandır projelerimde upload kısmı için verot.net’de bulunan upload sınıfını kullanıyorum.. Kullanımı oldukça kolay ve işlevselliği yüksek bir sınıf. Ancak görüyorum ki hala kullanmakta zorluk çekenler oluyor. Uzman Cevap’ta hala bu tarz sorular soruluyor çünkü düzenli olarak, bende hem bunlara bir yanıt vermek hemde yeni bir video çekmek adına verot.net upload sınıfı kullanımını sizlere anlatmak istiyorum..

İndir

İlk olarak uplaod sınıfını aşağıdaki linkten indirin. Zip içinde bulunan class.upload.php‘yi alın ve zipi silin ????
http://www.verot.net/php_class_upload_download.htm

Html Formu

Upload işlemi yapabilmek için basit bir upload formu hazırlayalım html’de.

<form action="" method="post" enctype="multipart/form-data">
Resim Seçin: <input type="file" name="image" /><hr />
<input type="submit" name="submit" value="Yükle" />
</form>

En basit kullanımı

İlk olarak sınıf dosyasını require edelim. Daha sonra post edildiğini anlayarak işe başlayalım.

<?php
require 'class.upload.php';
if ( isset( $_POST[ 'submit' ] ) ) {
$image = new Upload( $_FILES[ 'image' ] );
if ( $image->uploaded ) {
// upload klasörüne değişiklik yapmadan kayıt et
$image->Process('upload/');
if ( $image->processed ){
print 'resim yükleme işlemi başarılı!';
} else {
print 'Bir sorun oluştu: '.$image->error;
}
}
}
?>

Gelişmiş kullanımı

Şimdide yüklenen resmin adını değiştirelim, formatını değiştirelim, yeniden boyutlandıralım, birkaç farklı boyutta kayıt edelim..

<?php
require 'class.upload.php';
if ( isset( $_POST[ 'submit' ] ) ) {
$image = new Upload( $_FILES[ 'image' ] );
if ( $image->uploaded ) {
// resmi yeniden adlandıralım
$image->file_new_name_body = 'erbilen';
// resmi jpg formatına convert edelim
$image->image_convert = 'jpg';
// upload klasörüne değişiklik yapmadan kayıt et
$image->Process( 'upload/' );
/**
* Resmi Farklı Boyutta Kayıt Et
*/
// yeniden farklı boyutta kayıt et (200x100)
$image->file_new_name_body = 'erbilen';
$image->image_convert = 'jpg';
$image->image_resize = true;
$image->image_ratio_crop = true;
$image->image_x = 200;
$image->image_y = 100;
// sadece resim formatları yüklensin
$image->allowed = array ( 'image/*' );
$image->Process( 'upload/200x100' );
if ( $image->processed ) {
print 'resim yükleme işlemi başarılı!<hr />';
print '<img src="' . $image->file_dst_path . $image->file_dst_name . '" alt="" />';
} else {
print 'Bir sorun oluştu: ' . $image->error;
}
}
}
?>

Diğer bazı yararlı metodlar

Sınıfın bir çok metodu bulunuyor, ben yararlı bulduğum bazı kullanılabilecek metodların açıklamaları ile size bir listesini veriyorum.

<?php
// jpg resimlerin kalitesini ayarlamak için kullanılır
$image->jpeg_quality = 50;
// png resimlerin sıkıştırılma oranını belirlemek için kullanılır. 1-9 arası. Boyut artar ya da azalır orana göre.
$image->png_compression = 9;
// maksimum yüklenecek dosya boyutu belirlenir. 1024 = 1KB
$image->file_max_size = '1024';
// yüklenen resmin adının başına ön isim eklemek isterseniz kullanabilirsiniz.
$image->file_name_body_pre = 'thumb_';
// yüklenen görselin maksimum yüksekliği belirlenir. Örneğin yüksekliği 100px'den küçük görseller yüklenmesi için 100 değeri yeterlidir.
$image->image_max_height = 100;
$image->image_max_width = 100;
// max işleminin min versiyonudur. En düşük kaça kaç yüklenmesi gerekiyorsa belirleyebilirsiniz.
$image->image_min_width = 100;
$image->image_min_height = 100;
// resmin parlaklığını ayarlamak için kullanılır. Ne kadar yüksek, o kadar parlak.
$image->image_brightness = 60;
// resmin kontrastını ayarlamak için kullanılır.
$image->image_contrast = 50;
// resmin saydamlığını ayarlamak için kullanılır.
$image->image_opacity = 50;
// bazı resim efektleri
$image->image_negative = true;
$image->image_greyscale = true;
$image->image_threshold = 20;
$image->image_pixelate = 10;
// resmin üzerine yazı yazmak için kullanılır.
$image->image_text = 'test';
// yazının yatay mı dikey mi yazılacağını belirlemek için kullanılır.
// v = vertical (dikey) h = horizontal (yatay)
$image->image_text_direction = 'v';
// resmin üzerine yazılan yazının rengini belirlemek için kullanılır.
$image->image_text_color = '#fa6534';
// yazının konumlandırılması için kullanılır.
// BR = sağ alt
// BL = sol alt
// TR = sağ üst
// TL = sol üst
// L = solda ortada
// R = sağda ortada
$image->image_text_position = 'BR';
// resmi yatay ya da dikey çevirmek için kullanılır.
// h ya da v belirlenir.
$image->image_flip = 'h';
// resmi çevirmek için kullanılır.. Örneğin 90 derece çevir.
$image->image_rotate = '90';
// resmin üzerine watermark eklemek için kullanılır.
$image->image_watermark = 'watermark.png';
// watermark konumlandırılması için kullanılır.
// BR = sağ alt
// BL = sol alt
// TR = sağ üst
// TL = sol üst
// L = solda ortada
// R = sağda ortada
$image->image_watermark_position = 'BR';
// resme yansıma efekti verir.
$image->image_reflection_height = '20%';

“Verot.Net Upload Sınıfı Kullanımı” için 5 yorum

  1. Selam,
    Çok yararlı bir konu, süper akıcı, samimi, keyifli bir anlatım…
    Tebrikler ve teşekkürler…

  2. merhaba,
    öncelikle paylaşım için çok teşekkürler.

    $image->file_new_name_body = ‘erbilen’; vb

    gibi isimlendirmelerde Türkçe karakter sorun vermektedir. nasıl çözüm bulabiliriz.

      1. sorunum kısmen düzeldi sayılır ancak bu sefer de büyük harfleri küçük olarak verdi. ” ŞĞTİ” fonksiyondan sonra “sgti ” olarak çıkıyor..

  3. Yükleme klasörünün sonuna bir adet ters bölü yazmasının sebebi nedir acaba, benim yaptığım bir hata mı acaba, bir türlü çaresini bulamadım.
    Bir hataya sebep olmuyor, tarayıcı ters bölüyü umursamadan linkteki dosyayı gösteriyor ama sebebini anlayamadım bir türlü.
    $image->Process(‘../img/img_urunler’);
    Bu şekilde tanımlıyorum.
    img src içine yazdığı şekil ../img/img_urunler/\ResimDosyaAdi.jpg şeklinde oluyor.
    Üst klasöre kaydettirdiğim için mi yapıyor diye düşündüm ama aynı klasöre kaydedince de oluyor.

Tayfun Erbilen için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir