Tam URL'si görünmeyen dosya indirme linki
Merhaba, soru-cevap sistemimiz yeniden hayırlı olsun.
Abonelik gerektiren bir dosya indirme scripti hazırlamak istiyorum, aslında hazırladım. Sadece abonelik gerektireceği için indirilen dosyaların tam link yolu görünmesin istiyorum.
http://siteadi.com/download.php?id=123 olarak indirebilelim. download.php de session kontrolü yapacağım için üye olmayan bu linke ulaşamayacak zaten. Ama bir üye bu link ile indirdiğinde tarayıcının indirilenler kısmında tam URL'yi görüyorsa aboneliğin bir anlamı kalmıyor. İstediğim ne indirilenler sekmesinde ne de kaynak kodunda hiçbir şekilde tam URL görünmemeli.
Sanırım sorum anlaşılmıştır. Bu konuda yardımlarınızı rica ediyorum. Herkese iyi çalışmalar.
Verdiğiniz url ile örneklendirme yapacağım!
<?php
$url = "https://indiryuklemp3.org/mp3_files/bedel-YPjyr0gOLS-0.mp3";
$headers = get_headers($url, TRUE); //dosya adresinden headers bilgilerini alıyoruz
$filesize = $headers['Content-Length']; //dosya uzunluk bilgisini değişkene atıyoruz
header('Content-Type: audio/mpeg'); // dosya tipini belirliyoruz
header('Content-Disposition: filename="bedel.mp3"'); //dosyamızın adını belirliyoruz
header('Content-length: '.$filesize); //dosya uzunluk bilgisini ekliyoruz
header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: chunked");
readfile($url); //dosyayı php üzerinden okutuyoruz
Yazmış olduğum kodları bir php dosyasına kaydedip denersen kaynak dosyanın adresini indirme bölümünde göremeyeceksin.Diğer dosya türleri ve kaynak adresleri için bazı geliştirmeler yapman gerekecektir her zaman çalışmayabilir.