PHP ile Dosya Çekme
Turk-php de konusu geçince bu yazıyı hazırlamaya karar verdim. Örneğin bir sitedeki dosyanın linkini kendi sitemizde vermek istiyoruz ama adamlar dışarıdan erişimi yasaklamış. Öyle ise böyle diyerek bizde onlara böyle bir kod yardımı ile cevap vermiş oluruz
Tabiki her durum için işimizi görmeyebilir fakat onlar işin kolayına kaçıp minik bir htaccess dosyası oluşturmuşlardır ve başka sitelerden tıklanan linkleri engelliyorlardır. Bizde kodumuz yardımıyla sanki onların sitesindeymişiz gibi şaka yapıp, dosyamızı indirmenin keyfini süreriz. Lafı fazla uzatmadan kod kısmına gelelim,
<?php /** * @author EvrenWeb * @copyright 2009 */ function dosya_indir($link,$name=null) { $link_info = pathinfo($link); $uzanti = strtolower($link_info['extension']); $file = ($name) ? $name.'.'.$uzanti : $link_info['basename']; $curl = curl_init($link); $fopen = fopen($file,'w'); curl_setopt($curl, CURLOPT_HEADER,0); curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); curl_setopt($curl, CURLOPT_REFERER, "http://www.evrenweb.net/"); # Yukarıda dosyayı başka siteden çektirmeye izin vermeyebilir # Bu yüzden kimliğimizi gizleyip, kendi sitesindeymişiz gibi izlenim # Yaratıyoruz. Hangi siteden çekiceksek o sitenin adresini yazaviliriz. curl_setopt($curl, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0); curl_setopt($curl, CURLOPT_FILE, $fopen); curl_exec($curl); curl_close($curl); fclose($fopen); header('Content-Description: File Transfer'); header('Content-Type: application/download'); header("Content-Disposition: attachment; filename="".basename($file)."";"); header('Content-Length: ' . filesize($file)); @readfile($file) OR die(); } # dosya_indir($_POST['cek']); dosya_indir($_GET['cek']); # dosya_indir($_GET['cek'], "yeni_ad") şeklinde dosya ismini değiştirebiliriz ?>
Yukarıdaki kodumuzu dosya.php olarak kayıt edelim. Şimdi çekme işlemini nasıl yapacağımıza geldi sıra. Çook basit ! http://www.siteniz.com/dosya.php?cek=CEKİLECEK-DOSYANIN-ADRESİ şeklinde linkizimizi tarayıcımıza yazıcaz ve olup biticek
Ben örnek olarak burada form kullanıcam, isterseniz sizde $_GET yerine $_POST yazıp hazırladığınız form ile dosyayı çektirebilirsiniz. Form örneğide burada,
<form action="http://evrenweb.net/ornek/php/php-ile-dosya-cekme/dosya.php" enctype="application/x-www-form-urlencoded" method="post"> <input name="cek" size="25" style="border: 1px solid rgb(102, 102, 102);" value="http://www.egonomik.com/script/zip/resimyaz.zip" type="text"> <input value="İndir !" type="submit"> </form>
Bir önceki yazımda konusu geçen kodun hazır halini Egonomik'in sitesinden çekelim ![]()
Kodun Çalışan Hali:
Buraya tıklayarakda gerekli dosyaları çekebilirsiniz.
Benzer Yazılar:
Php ile Dizin ListeletmePhp ile dizin listeleme işlerini nasıl yapıcağımıza göz atıcaz. Hatta burada istek
jQuery ve LightBoxTurk-php de bir arkadaşımızın isteği üzerine lightbox hakkında bir örnek yaptım. Aslına
PHP İle Resim Üzerine Yazı Yazma ScriptiSahile, köprüye istediğimiz yazıyı yazdırdığımız birçok site mevcuttu bunları hepimiz biliyoruzdur. Fakat
Php ve Flash ile Geri Sayım İşlemiAzda olsa işimize gerekebiliyor bu tarz uygulamalar. Bilgisayarımı karıştırırken karşıma çıkan bu
Php ile Dizin İçindeki Dosyaları SayfalamaUzun zamandır php’de işinize yarayabilecek kodları paylaşamıyordum. Sağda solda birkaç kendini bilmez

Genelkurmay Başkanının Ses Kaydı
Facebook Profil Kutuları Kalkıyor
Facebook Baloncukları


indirilen dosya içeriği 0 kb oluyor
Merhabalar, kusura bakmayın server değişimi yaptık. Bu tarz aksaklıklarım olabiliyor. Kısa bir sürede hallediyorum sorunu