Здравствуйте!
Подскажите как реализовать скачивание файлов с другого сайта при этом чтоб ссылка на скачиваемый файл была внутренняя.
Т.е у нас есть два сайта, один лежит на собственном сервере, другой на ВПС.
Файлы находящиеся на сайте который расположен на сервере и имеют такой такой путь сайт1.ru/downloads/file.1.bin, сайт1.ru/downloads/file.2.bin и т.д..
На сайте, который находиться на ВПС, должны быть ссылки на файлы соответствующего вида сайт2.ru/downloads/?f=file.1.bin, сайт2.ru/downloads/?f=file.2.bin и т.д., при скачивании которых файлы тянуться с сайт1.ru.
Спасибо!
(Добавление)
Нашел такую конструкцию, но она почему-то не работает...
Закидываю в папку сайт2.ru/downloads/ файл index.php с таким содержимым:
CODE ( text):
скопировать код в буфер обмена
<?php function file_force_download($file) { $file='сайт1.ru/downloads/'.$file; if (file_exists($file)) { // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт // если этого не сделать файл будет читаться в память полностью! if (ob_get_level()) { ob_end_clean(); } // заставляем браузер показать окно сохранения файла header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); // читаем файл и отправляем его пользователю readfile($file); echo $file; exit; } } if(isset($_GET["f"]) && !empty($_GET["f"])){ file_force_download($_GET["f"]); } ?>
Но скачивания не происходит. Что не так делаю?
|