Как настроить PHP как «канал» для загрузки из другого места? - PullRequest
1 голос
/ 14 января 2010

Я хочу установить скрипт php и разместить его на своем сервере, который позволит мне скачивать файлы из других мест, но при этом он будет выглядеть так, как будто он исходит от моего сервера. Может быть, с помощью curl или htacess. Также я надеялся, что найдется способ обойтись, если мой сервер справится с пропускной способностью. Имеет ли это смысл? Это выполнимо?

- Обновление

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

Ответы [ 4 ]

2 голосов
/ 14 января 2010

Вы можете сделать это, просто передав целевой URL-адрес скрипту, откройте URL-адрес с помощью file_get_contents (), curl или других файловых функций и отобразите данные. убедитесь, что для заголовка Content-Type установлено значение «application / octet-stream», чтобы браузер сохранял файл вместо его отображения.

Что касается пропускной способности: вам придется иметь дело с этим. Если ваш сервер загрузит файл, он будет использовать пропускную способность. Он даже использует его дважды, потому что должен получать и отправлять данные.

Я не знаю, почему вы упоминаете htaccess, потому что это не имеет никакого отношения к вашей проблеме.

0 голосов
/ 16 января 2010

Спасибо за помощь ... Я понял, что мне нужно было сделать, я собираюсь использовать mod_xsendfile. Он позволяет вам установить внешний источник для того, где находится файл, а затем позволяет пользователю загружать файл, не зная, где файл находится на самом деле.

0 голосов
/ 14 января 2010

Я бы рекомендовал настроить систему ссылок на вашем сайте, например http://example.com/download.php?id=12, которая затем перенаправляла бы непосредственно к удаленному файлу, таким образом вы сэкономили бы пропускную способность и если бы кто-то посмотрел ссылку на вашей странице это выглядело бы так, как будто оно исходит от вашего сервера. Он по-прежнему будет показывать другой сайт в менеджере загрузок, но если вы пытаетесь сэкономить пропускную способность, это небольшая цена.

0 голосов
/ 14 января 2010

Также я надеялся, что найдется способ обойтись, если мой сервер справится с пропускной способностью. Это выполнимо?

Нет.

...