Php’ de Ajax yardımıyla dosya yükleme (File Upload)
Ajax yardımıyla dosya yükleme olayının nasıl yapılacağını çok kez düşünmüşümdür. Önceleri yapmaya çalışsamda başarılı olamadım. Taki bu konuyla ilgili bir arkadaşımın bana nasıl yapılacağını anlatmasıyla son buldu. 🙂
Normalde veritabanında değişiklikleri Ajaxla çok kolay şekilde yapabiliyorduk ancak dosya yükleme olayı işin içine girince bu olayı hep askıya almak zorunda kaldım. Şimdi size ajax yardımıyla doysa yüklemek için yapmamız gerekenleri anlatmaya başlıyayım ;
Ajax yardımıyla dosya yüklemek için kullanmamız gereken tagimiz “iframe” dir. Bu tag sayesinde ajax yardımıyla dosya yükleme olayını gerçekleştirmiş olacağız.
<form action="upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startUpload();" > <p id="f1_upload_process">Yükleniyor...<br/><img src="loader.gif" /><br/></p> <p id="f1_upload_form" align="center"><br/> <label>Dosya: <input name="myfile" type="file" size="30" /> </label> <label> <input type="submit" name="submitBtn" class="sbtn" value="Yükle" /> </label> </p> <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe> </form>
yukarıda dikkat etmemiz gereken form tagimizin “target” özelliğine iframin adı olan “upload_target” ismini veriyoruz. Yani form submit olduğunda “upload_target” isimli iframe de açıl ve orada çalış. Tabi iframe de açılacak sayfada elbette formun action’ına vemiş olduğumuz “upload.php” dosyamızdır. Zaten upload.php dosyasında ilgili dosyayı yükleme işlemi yapacaktır.
Mantığı son derece basit ve kullanımı da bi o kadar kolay 🙂
Bu konunun bir çok arkadaşımızın kafasındaki soru işaretlerini kaldıracağından eminim…
Demoyu görmek isterseniz tıklayın.
İlgili örnek projeyi indirmek için tıklayın.
NOT : Proje bana ait değildir.
Bu yazımdaki amaç sadece olayın mantığını anlatmaktır.
15 yorum bulunmaktadır - “Php’ de Ajax yardımıyla dosya yükleme (File Upload)”
Yorum Yapın
Etiketler
Son Yazılar
- Uzak sunucuda bulunan android cihaz ile otomasyon
- Mac’ de çoklu Java versiyon yönetimi
- İş yarar docker komutları
- Eski branchlerin git’ den silinmesi
- Kubernetes Süresi Dolmuş Sertifikaları Yenilemek
Son Yorumlar
- Hosting koşuşturması için
- Garanti Sanal Pos Kurulumu, Sorunlar ve Çözümler için
- Visual Studio Toolbox’a component(bileşen) eklenmesi için
- “File is too large for destination file system” hatasını gidermek için
- Php’de UTF-8 Türkçe karakter sorunu ve çözümü için
Bağlantılar
Arşivler
- Kasım 2021
- Eylül 2021
- Ağustos 2021
- Temmuz 2021
- Aralık 2020
- Kasım 2020
- Ekim 2020
- Eylül 2020
- Kasım 2017
- Mayıs 2017
- Mart 2017
- Şubat 2017
- Ocak 2017
- Nisan 2015
- Aralık 2014
- Mayıs 2014
- Eylül 2013
- Haziran 2013
- Şubat 2013
- Kasım 2012
- Ekim 2012
- Eylül 2012
- Mart 2012
- Şubat 2012
- Ocak 2012
- Aralık 2011
- Kasım 2011
- Ekim 2011
- Eylül 2011
- Temmuz 2011
- Haziran 2011
- Mayıs 2011
- Mart 2011
- Ocak 2011
- Aralık 2010
- Kasım 2010
- Ekim 2010
- Eylül 2010
- Ağustos 2010
- Temmuz 2010
- Haziran 2010
- Mayıs 2010
- Nisan 2010
- Mart 2010
- Şubat 2010
- Ocak 2010
- Haziran 2009
- Mayıs 2009
- Nisan 2009
- Mart 2009
dostum bilgiler için teşekkürler
kolay gelsinn…
aslında bu yönteme ajax dememiz doğru değil.Ajax için kullandığımız XMLHttpRequest objesi multipart/form-data tipinde data göndermeyi desteklememektedir. Bazı cin geliştiricilerin bulduğu bu yöntemle iframe kullanarak sayfanın yeniden yüklenmeden dosyayı gönderebildiğimiz doğrudur. Fakat sayfanın yenilenmediği her yönteme ajax diyemeyiz.
Peki ne desek doğru olur? 🙂 Bence bu işe bir ad koymak istersek en yakın tanım ajax olur herhalde.
şuda fena değil aslında http://www.selmantunc.com/advanced-php-file-upload-and-ajax-upload/
Merhaba,
Çok faydalı bir paylaşım oldu benim için. Artık gerisini php de istediğim gibi kontrol edebiliyorum.
Teşekkürler
Çok faydalı oldu projemde… emeğinizi takdir ediyorum.
alıntı yapılan site : http://www.ajaxf1.com/product/ajax-file-upload.html
bu uygulamanon amacı ney?uploadı nereye yapıyor?
Uygulamanın amacı sayfayı tamamen post etmeden yüklenecek dosyayı sunucuda belirttiğniz yere yüklemek. Yolunu belirterek istediğin yere upload yapabilirsin.
Bence gayet faydali bir yazi olmuş. Sayın Enes Pekkaya ya teşekkürü bir borç bilirim.
Hocam teşekkürler zekice bi yöntemmiş siteme arkaplan yönetimi ekliyecektim sizin bu ufak scriptinizi entegre edeceğim.
slm. bu dosyada ajax işlemi kullanılmamış. yani elde ettiğimiz datayı php ye nasıl göndereceğiz .
ilgili dosyayı formunuzun actionına vermiş olduğunuz dosyada işleyebilirsiniz. Örnekde “upload.php” dosyasında işlem görülmekte. Aslında örnek dosyayı sizlerle paylaştım oraya bakarsanız daha iyi anlayabileceğinizi düşünmekteyim.
İngilizce sitelerde saatlerce araştırma yaptım, bu kadar basit ve işe yarayan bir kod bulamamıştım, teşekkürler, yine ne varsa bizim türklerde var 🙂