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.

En basit kullanımı

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

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..

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.

İndir

İndirmek için aşağıdaki bağlantıyı kullanabilirsiniz;
verotnet.rar

Yayınlayan

Tayfun Erbilen

2009’dan beri web işleriyle uğraşan, aynı zamanda amatör müziklede ilgilenen sıradan birisi..

“Verot.Net Upload Sınıfı Kullanımı” üzerine 60 yorum

  1. Bu kısım gözünüzden kaçmış galiba.

    // resmi png formatına convert edelim
    $image->image_convert = ‘jpg’;

  2. Bazı dosyalar yüklenmiyor. Hata mesajı da yazmıyor . Özellikle jpg dosyalarında bu sıkıntı çıkıyor. Diğerlerini deniyorum problem yok. Neden bu sıkıntı çıkıyor bir bilginiz var mı?

        1. bir .htaccess dosyası oluşturun içine şu kodları yazın;

          php_value post_max_size 20M
          php_value memory_limit 60M
          php_value upload_max_filesize 20M

          ben bu şekilde sorunu çözümlüyorum.

          1. Teşekkür ederim. Ne zamandır kafama takılan bir sorundu bu

  3. Bildigim Kadarıyla

    Resim Üzerinde Oynama (Boyut Degiştirme,Efect Ekleme …) Yapabilmek İçin Serverda Gd Kütüphanesi Yüklü Olması Lazım.

    1. elbette. zaten ekstra kurulmadığı için olmaması mucize olurdu.. 2009’dan beri kullandığım hiçbir server’da olmadığını görmedim 🙂

  4. Teşekkürler. Sen classlarla pek ilgilenmiyorum demiştin. Öğrenmeye başladın sanırım 🙂

    1. Kullanmak ayrı, yazmak ayrı.. Sınıf yapısını bilmiyor değilim, ben oop mimarisinin tamamına hakim değilim dolayısı ile video çekmem bu konuyla ilgili 🙂

      1. Şimdi bu kodun 2 kere mi yolladığını söylüyorsun 😀

        uploaded ) {

        $image->Process(‘upload/’);

        if ( $image->processed ){
        print ‘resim yükleme işlemi başarılı!’;
        } else {
        print ‘Bir sorun oluştu: ‘.$image->error;
        }

        }

        }

        ?>

        1. hayır bunu kullandıysan bir kere yükler, video yu izledin mi bilmiyorum ancak zaten onu kullandığımızda bir kere yüklüyor. sen 2 kere yükletmeyi başardıysan, son durumumu beğen duvarındayım 😀

  5. Hocam bilgilendirme amaçlı harika bir Türkçe kaynak olmuş bence. Önceden kullandığım bir iki ekstra kod vardı onları göremedim. Belki birilerinin işine yarar diye onlarıda yazmak isterim:

    Resme logo yani watermark eklerken ya sol üste ya sol alta ya sağ üste ya da sağ alta sıfırlanmış olarak ekliyor. Ancak bu şekilde değilde koordinatları belirterekte bir logo eklememiz mümkün. Bunun için kodlar şu şekilde:

    $image->image_watermark_x ve $image->image_watermark_y

    1. teşekkürler, evet aynısı resim üzerine eklenecek text içinde geçerli.. padding değişkenleri var örneğin sınıfta. onlara değinmedim döküman bölümünde yer aldığı için çok fazla ayrıntı oluyordu 🙂

      1. Sıfırlanınca çok kötü bir görünüm oluşuyorda o yüzden belirtmek istedim 🙂

  6. Teşekkürler Tayfun Abi. Çok Güzel bir ders olmuş.
    Allah emeklerini boşa çıkarmasın.

  7. Sanırım En basit kullanımda hacklenme olayı olabilir.
    Nedeni ise dışarıda post işleminde php dosyasıda upload edilebilinir. tabi upload classında kontrolü yoksa

    1. Bu class içerisinde mime kontrolü olduğu için jpg görünümlü dosya vb şekilde hack işlemi yapılamaz. Güvenle kullanabilirsiniz

    1. Eline sağlık tatfun, @Webci arkadaşın ricasına bende katılıyorum. çoklu upload konusunu da ele alırsan çok güzel olucak.

    2. Arkadaşlara katılıyorum çoklu upload sınıfını anlatman daha iyi olur bizim tabi uygun görürsen:)

  8. Merhaba Tayfun, çok güzel bir kaynak olmuş eline sağlık… İyi çalışmalar dilerim…

  9. Anlatım çok güzel olmuş, teşekkürler.
    Peki bunu multiupload yapmak istesek nasıl bir yol izlememiz gerekir?

  10. Emeğiniz için teşekkürler . Fakat bir noktaya değinmek istiyorum . Upload sınıfı biraz yavaş mı çalışıyor yoksa bana mı öyle geldi 🙂 çoklu kullanıcılı bir sistemde bu sınıfı kullanıcam ama tedirgin olmaya başladım localde bile yanıt 3 – 9 saniye arasında geliyor . Ayrıca şöyle bir durum var malsup un eklentisini kullanıyorum ajaxla yükleme yapmak için eklenti güzel çalışıyor 100% oluyor. 100% olduktan sonra yükleme bitti zannediyorum fakat dediğim gibi 3 – 9 saniye sonra yükleme işlemi tamamlanıyor ( max boyut 2 mb yüklüyorum ) . Malsupun bu tutumu ve çoklu kullanıcılı bir sistem için bu eklenti hakkında düşünceleriniz nelerdir ? İleride sorun çıkartır mı ?

  11. $handle->allowed = array ( ‘image/*’ );

    Bu kodun yerine

    $image->allowed = array ( ‘image/*’ );

    olması gerekmiyor mu?

  12. Tayfun kardeşim herşey güzel. Emeğine sağlık. Senin sayende PHP öğreniyoruz. Bilginin zekatını en iyi şekilde veriyorsun…

    Bir sorum olacak belki ben atladım bu kısmı bilemiyorum..
    Her türlü dosyayı yüklüyor. O kontrolüde eklersen çok sevineceğiz.

    1. kodlarda şöyle bi kısım var;

      // sadece resim formatları yüklensin
      $image->allowed = array ( 'image/*' );

      bu şekilde belirleyebilirsiniz yüklenecek formatları.

  13. iyi günler kolay gelsin tayfun bey.

    verot sınıfı içinde $image_dst_y böyle bir fonksiyon var. bir çok denememe ragmen kullanımı çözemedim. bunun kullanımını anlatabilirmisiniz ?

    1. Öncelikle bu bir fonksiyon değil değişken. Yaptığı şey ise, yüklediğin görselin yüksekliğini sana döndürüyor. Kullanımı ise;

      echo $image->image_dst_y;

      şeklindedir.

  14. Bu sınıfı uzaktan çekilen resimler için kullanma şansımız yok mu ? $image = new Upload( $_FILES[ ‘image’ ]

    $image = file_get_contents …. gibi

    1. Evet şevki, uzaktan bir görselide yükleyebilirsin. Direk url’sini vermen yeterli;

      $image = new Upload("http://www.erbilen.net/wp-content/themes/mono/images/logo.png?v=1");

      gibi..

  15. Merhaba tayfun,

    Resmin yüksekliğine göre enini kısaltmak istiyorum mesela resim 400×200 ise yüklediğimde 200e 200 olsun istiyorum ama width height içine almadan

  16. $image->image_convert = ‘jpg’;

    bunun video convert eden bölümü yokmu acaba

    videoları istediğimiz bir formata cavirse

    1. doğrudan url adresi ile de sınıfı başlatıp işlem yapabiliyorsun;

      $upload = new Upload('https://pbs.twimg.com/profile_images/486111821636444160/6OZg4BJ8.jpeg');

      gibi..

      1. Hocaların hocası bizim araştırmacı ve yazılımcı gardaşımız. Sen benim zor anlarımda kurtaran tek kişi. yaptım Bu şekilde , Allah Razı olsun

        $images = new Upload( ‘upload/P0013_281209.jpg’ );

        $dosyaYolu = “upload/ozel/”;

        $images->image_resize = true;
        $images->image_x = 300;
        $images->image_y = 300;
        $images->image_ratio_crop = ‘L’;

        $images->Process( $dosyaYolu );

  17. Ulan Tayfun! Sen ne yararlı bir adamsın yav 🙂
    Şaka bir yana, web ile bir şey arattığımda sürekli olarak karşıma çıkıyosun 🙂
    Başarılarının devamını diliyorum 🙂

  18. Aynı dosya için işlem yapmak istiyorsanız.
    $image->file_overwrite = true

  19. Çok faydalı bir insansın, senin gibilerin sayısının artması ümidiyle, hayatta başarılar diliyrum.

Bir Cevap Yazın

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