Coder Social home page Coder Social logo

resimislemclass's Introduction

ResimIslemClass

Resim Upload ve Boyutlandırma Sınıfı

Class içerisindeki ilk fonksiyonumuz yüklenen dosyanın uzantısını bulmak için. İkinci fonksiyonumuz resmi yeniden boyutlandırmak için. Genelde resim boyutlandırmada png resimlerin transparent yerleri siyahlaşıyor veya daha farklı şekilde bozuluyor, buradaki boyutlandırma fonksiyonunda resmin transparent özelliği korunuyor. Fonksiyon dışarıdan dosya bilgisi, maximum yükseklik - genişlik ve uzantı bilgilerini alıp ona göre işlem yapıyor. Üçüncü fonksiyonumuz dosyayı yeniden adlandırmak için, dosya isminde Türkçe karakter varsa onları temizlemek için. Son fonksiyonumuz ise resmi upload etmek için. Fonksiyona sırasıyla post ile gelen dosyayı, dosyanın yükleneceği klasör veya yolu, dosyanın yeni ismi, dosyanın yükseklik ve genişlik değerleri giriliyor. Bu fonksiyon resmi upload ettikten sonra class içindeki diğer fonksiyonları kullanarak uzantıyı buluyor, yeniden adlandırıyor, uzantı eğer bir resim dosyasıysa (jpg, jpeg, png ve gif) upload işlemini gerçekleştirip yeniden boyutlandırma yapıyor ve orijinal dosyayı siliyor.

Resim yeniden boyutlandırılmasın orijinal hali yüklensin isteyenler vardır. Fakat yeniden boyutlandırmanın yararlarından biri; dosya uzantısı jpeg yapılarak sisteme zararlı bir dosya yüklenebilir yeniden boyutlandırma sırasında dosya gerçekten resim dosyası değilse boyutu 0 byte olarak kaydediliyor yani içeriği siliniyor.

Classın kullanımı ise şöyle; bu kodları ResimIslem.php olarak kaydedin, daha sonra bu dosyayı resmi post ettiğiniz dosyaya include edin ve şu kodları yazın


$dosya = new ResimIslem();

$upload = $dosya->resim_upload($_FILES["formdan_gelen_resim"]["name"],$_FILES["formdan_gelen_resim"]["tmp_name"],$_FILES["formdan_gelen_resim"]["error"],'yuklenecek/dizin','dosyanın adı', 350, 250);

echo $upload.' Dosyası başarıyla yüklendi.';


Post ile gelen dosyanın 3 farklı parametresi var dosya yüklenirken ilk önce serverda temp dizinine atılır oradan belirlediğimiz klasöre aktarılır; post ile gelen dosyanın name bilgisi tmp bilgisi, yükleme esnasında oluşabilecek olası hataları görebilmemiz için error parametrelerini, dizin, dosya adı ve boyutlandırma bilgilerini girerek dosyayı yüklemiş olduk. Fonksiyon dosyanın adını da yükleme işleminden sonra dışarıya gönderiyor. Bu sayede de upload işleminden sonra dosya adını veritabanına kaydedebilir ya da <img src="" ile ekranda da resmi gösterebilirsiniz.

resimislemclass's People

Contributors

niyazialpay avatar

Stargazers

Emre Altintas avatar

Watchers

James Cloos avatar  avatar Emre Altintas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.