2010-01-14 2 views
1

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

- Обновление

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

+1

где должна информация идти, если не в памяти? очевидно, вы могли бы передать его - вам не нужно ставить все то, что вы загружаете в память в одном фрагменте. По мере загрузки вы можете отправить ответ на запрос. , , , Но в какой-то момент он должен пройти через ваш сервер, что означает, что кусок по блоку хранится в памяти. – Cheeso

ответ

2

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

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

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

+0

Причина, по которой я упоминал htaccess, потому что мне было интересно, может ли быть способ использовать, возможно, mod_rewrite, чтобы он «выглядел» так, как будто файл находится на моем сервере, но на самом деле это просто подключение к другому месту. – will

0

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

No.

0

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

0

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

Смежные вопросы