PHP скачивание сайта с удаленного сервера

12
SA
На сайте с 12.02.2006
Offline
142
1401

Возникла задача, отдавать пользователю файл средствами PHP находящийся на удаленном сервере,

т.е. чтобы по запросу site.ru/download.php, пользователь получал файл на скачку расположенный по адресу site1.ru/test.exe, при этом, чтобы не видел откуда реально качает.

LEOnidUKG
На сайте с 25.11.2006
Offline
1764
#1

RewriteRule ^(.+\.css)$ http://удалённый сервер/$1 [P,NC]

Но на апатче должен быть модуль mod_proxy

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
SA
На сайте с 12.02.2006
Offline
142
#2

ок, спасибо!

siv1987
На сайте с 02.04.2009
Offline
427
#3

Если если уж на пхп то

echo file_get_contents( 'site1.ru/test.exe' );

flush();

SA
На сайте с 12.02.2006
Offline
142
#4

file_get_contents - ведь возвращает содержимое, пробовал разные header подставлять, все равно выводит на экран содержимое файла, вместо сохранения.

IL
На сайте с 20.04.2007
Offline
435
#5
seo-alex:
ведь возвращает содержимое, пробовал разные header подставлять, все равно выводит на экран содержимое файла, вместо сохранения.

file_get_contents - возвращает.

echo - выводит.. в браузер

А чтобы предложить пользователю сохранить - следует (до echo.. и вообще до любого вывода в браузер) отдать заголовок content-type, например "универсальный":

header('Content-type: application/octet-stream');
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
BadBoy
На сайте с 31.01.2005
Offline
308
#6

seo-alex,

создаешь файл

download.php в него пихаешь это


<?php
$fp=fopen("counter.txt","r+");
flock($fp,1);
$count=fgets($fp,6);
$count+=1;
rewind($fp);
fputs($fp,$count);
flock($fp,3);
fclose($fp);
header ("location: http://site1.ru/archive.zip");
exit();
?>

создаешь файл counter.txt (пустой) для записи количества скачек

все

Ну если то что надо конечно, я у себя такую связку юзаю

SA
На сайте с 12.02.2006
Offline
142
#7

тьфу блин, header выводил после echo, спасибо.

IL
На сайте с 20.04.2007
Offline
435
#8
BadBoy:
download.php в него пихаешь это

BadBoy, там пожелание было

seo-alex:
при этом, чтобы не видел откуда реально качает.

а location пользователю адрес "светит"

p.s. про flock-и и counter.txt - довольно специфично.. но, если работает - ОК

LEOnidUKG
На сайте с 25.11.2006
Offline
1764
#9

Не люди, ну нафига напрягать PHP, чтобы он память забивал себе файлами и т.п.? :)

IL
На сайте с 20.04.2007
Offline
435
#10
LEOnidUKG:
Не люди, ну нафига напрягать PHP, чтобы он память забивал себе файлами и т.п.?

не везде mod_proxy стоит...

А так - да..

Следующим вопросом "нафига напрягать apache?", можно ведь nginx-ом отдавать...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий