| Yazar GİRİŞİ |
Php ile dosya downloadŞimdi biraz daha ayrıntıya girelim.
setUrlAddress() metodunda kullanıcıdan dosyanın tam url adresini alıyoruz ve bunu sınıfımızın içinde kullanılmak üzere tanımlanmış $fileUrl ye daha sonra kullanmak için depoluyoruz.
setDirectory() ile kullanıcıdan alınan dizin adının yazılabilir ve okunabilir olup olmadığı kontrol ediliyor dizin yazılamaz ve okunamaz ise $getMsg dizimize gerekli bildirim mesajları ekleniyor. Eğer yazılabilir ve okunabilir ise sınıf içinde tanımladığımız $dir değişkenin de depolanıyor.
setFileName() sınıfımızın üç adet parametre alan fonksiyonu. Bu metot yukarıda da belirttiğimiz gibi üç adet parametre almaktadır bunlar true false ve kullanıcı tanımlı isim. Eğer parametre olarak true verilirse metot random bir isim üretip $fileName değişkenine eşitleyecektir. False değeri verilirse dosya adında değişiklik yapmadan $fileName'e eşitleyecektir. İkisi de girilmediği taktirde kullanıcının belirttiği dosya ismi $fileName'e eşitlenecektir.
getFileNameExtension() metodumuz ile de download edilmek istenen dosyanın uzantısını döndürüyoruz.
getData() ile de download edilecek dosyanın içeriği okunup $content içine depolanıyor. Bu metotda cURL kullandım eğer cURL yüklü değil ise doğal olarak sınıf çalışmayacaktır. Ayrıca cURL kullanmamın bir diğer nedeni ise user-agent bilgisinin gönderilmesi bunun da nedeni bazı siteler user-agent kontrolü yapmaktalar bu sebeple bunu da bir nebze aşmış oluyoruz.
saveData() metodu sınıfımızın start fonksiyonu oluyor öncelikle getData() çağrılarak download edilecek dosyanın içeriğinin alınması sağlanıyor. Ardından $file ile kullanıcıdan aldığımız bilgilere göre kaydedilecek dizin ve dosya yazma modunda açılıyor ve fwrite() ile içeriği alınan dosya kaydediliyor. Sonuc doğru ise uygun bildirim mesajları ayarlanıp fonksiyondan true olarak dönüyoruz eğer bir hata oluştu ise false dönüyoruz.
getMessage() sınıfımızın son metodu. Bu metod ile $getMsg ye depolanmış bildirim mesajlarını foreach ile uygun bir formatta bildirim yapıyoruz.
Bir örnekle tamamlayalım
<?php
?>
Yazım hatalarım için özür dilerim. Uygulamayı buradan indirebilirsiniz.
| Raiden 18.10.2008 | |
| Rating : 10 üzerinden 4.70 |
Yorum ekle