Всем прет, помогите с php разобраться, а точнее нужно сделать скачивание файла автоматический, это можно реализовать например с помощью JavaScript: Code: <script type="text/javascript"> var urls=["http://www.test.ru/allo.rar"]; document.write('<meta http-equiv="refresh" content="0;url='+urls[Math.round(Math.random()*(urls.length-1))]+'" />'); </script> Не могу понять почему файл открывается, а не качается в браузере если, например задать в конфиге путь к файлу, а из конфига вытащить в php и вставить вместо - http://www.test.ru/allo.rar, вставить вот это <?php echo $url; ?>. Code: <script type="text/javascript"> var urls=["<?php echo $url; ?>"]; document.write('<meta http-equiv="refresh" content="0;url='+urls[Math.round(Math.random()*(urls.length-1))]+'" />'); </script> Где $url например переменная в config.php, данный конфиг загружаю таким образом - require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); Что не так? Подскажите как сделать правильно!?
Мне кажется будет правильно использовать такой код: PHP: header("Content-disposition: attachment; filename=".basename($filename).""); readfile($filename); exit(); В переменную $filename нужно передать название файла.
Спасибо, помогло только вот такой код - Code: <?php require_once($_SERVER['DOCUMENT_ROOT'].'/config.php'); global $PATH_FILE; $filename = $_SERVER['DOCUMENT_ROOT'].'/'.$PATH_FILE; header("Content-Type: ".filetype($filename)); header("Content-Length: ".filesize($filename)); header("Content-Disposition: attachment; filename=".basename($filename)); header("Content-type: application/force-download"); header("Content-type: application/octet-stream"); echo file_get_contents ($filename); ?> Только теперь страница не отображается, файл на скачку отдаёт, а страница пустая в браузере. Хотелось, чтобы пользователь видел её! и еще вопрос можно как-то организовать счетчик загрузок по скачиванию последних байт файла (например), что бы на 100% была уверенность скачиваемости файла??
А вообще правильно будет сделать так: Файл 1: PHP: header('Refresh: 3; URL=dl.php'); echo file_get_contents($filename).'Скачивание начнется через 3 секунды'; Файл 2(напр. dl.php): PHP: header("Content-disposition: attachment; filename=".basename($filename).""); readfile($filename); exit(); Ну а название файла если надо - передавать GET или POST запросом, и соответственно не забывать о безопасности(проверять входящие данные).