Здравствуйте! Помогите пожалуйста написать скрипт, который бы позволял скачивать файлы, но скрывал бы реальный адрес файла! Главное без MySQL!!!
PHP: <? header('Content-Type: application/x-rar-compressed;'); $file = 'http://site.ru/archive.rar'; readfile($file); ?> Ты это имеешь ввиду?
HTML: http://www.somehost.com/files/fileid=12 нажимая на ссылку выше, начинается загрузка файла, который находится ,например здесь: http://www.somehost.com/uploads/file.rar Т.е ты скрываеш путь к файлу Этот случай?
No Direct Links! Класс на ПХП, не использующий базы данных. Ссылка для загрузки : http://phpclasses.segmenta.ru/browse/package/1134.html В архиве несколько примеров. Для скачивания зарегистрируйся на том сайте
Можно просто сделать типо этого: PHP: <? header('Content-Type: application/x-octetstream'); $a = array( 1 => 'http://site.ru/archive.rar', 2 => 'http://site.ru/archive2.rar' ); readfile($a[$_GET['file']]); ?> Тогда ссылка будет вида script.php?file=2. Скачка идёт от сервера, где находится этот скрипт, а не где расположен файл.
PHP: <? $a = array( 1 => '/index.php', 2 => '/index.php' ); $file = $a[$_GET['file']]; header('Content-Disposition: attachment; filename="'.end(explode('/',$file)).'";'); readfile($file); ?> тогда так вроде))))
PHP: <? if($_GET['download'] == 'true') { $a = array( 1 => '/index.php', 2 => '/index.php' ); $file = $a[$_GET['file']]; header('Content-Disposition: attachment; filename="'.end(explode('/',$file)).'";'); readfile($file); } else { header("Refresh: 0; URL=".$_SERVER['REQUEST_URI']."&download=true"); echo('Сейчас начнётся скачка'); } ?> Вот так проще всего. Доступ к файлу такой же. Но не будет срабатывать, когда не будет никакого запроса к файлу (т.е. если не будет ?file=...)