Download sistemleriyle ilgilenenler için faydalı olacağını düşündüğüm bir uygulama.
http://site.com/download.php?id=4 dedik, dosya inmeye başladı ama, kaynağına baktığımızda dosyanın nerede olduğu ve dosya ismi yazıyor. Belki de biz bunu göstermek istemiyoruz. :) Basit uygulamalarda download.php sayfasında şu kod kullanılıyor;
1 2 3 |
<meta http-equiv="refresh" content="1;URL=".$filename[name]."" /> |
Ama biz bunu yapmayacağız. Çünkü dosya ismini linkte göstermek istemiyoruz.
Fazla gevezelik etmeden uygulamaya geçeyim…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $connect = mysql_connect("hostname", "username", "password"); mysql_select_db("database"); //Veritabanına bağlandık. Sıra geldi verilerimizi çekmeye. //Benim `file` tablomda `id` ve `filename` sütunları var diyelim. //`filename` sütununda dosyanın ismini tutuyoruz. (file.zip gibi) $query = mysql_query("SELECT * FROM `file` WHERE `id` = '".$_GET['id']."'"); $show = mysql_fetch_array($query); // files klasöründe dosyaları tutuyorum ben. //Siz eğer başka bir klasörde tutuyorsanız değiştirebilirsiniz tabii ki. header("Content-Type: application/x-msdownload"); header("Content-Disposition: attachment; filename=files/".$show[link].""); ?> |
İşte bu kadar. Bu kodları download.php olarak kaydedin. download.php?id=1 dediğinizde 1 numaralı verinin dosya ismini alır, files klasöründen bulur ve kullanıcının indirmesine izin verir. Dosyanızın ismi hiçbir şekilde görünmez. Geliştirmek ve güzelleştirmek size kalmış arkadaşlar. Kolay gelsin.
Kaynak: http://www.ilhankaraoglu.com/dosya-ismini-vermeden-download-sayfasi-olusturmak