php redirect + принудительная загрузка - PullRequest
1 голос
/ 29 июня 2011

Я создаю приложение google-chrome, которое будет загружать песни из потока октетов, однако из-за ограничений JavaScript я не могу создать кнопку «скачать». Пользователь должен щелкнуть правой кнопкой мыши и выбрать сохранить файл как. Я хочу создать страницу php, которая перенаправит браузер в местоположение потока октетов, который будет находиться на другом сайте, а затем создаст там диалог загрузки. Я знаю, что здесь, вероятно, есть ограничения безопасности, но возможно ли перенаправить страницу php и установить заголовки размещения содержимого той страницы, на которую она перенаправляет?

Примечание: я не могу получить поток октетов с моего сервера для сохранения, поскольку используемый мной хост не поддерживает вызовы php на внешние сайты.

1 Ответ

1 голос
/ 29 июня 2011

Диалог загрузки (заголовок размещения контента) должен быть создан другим сайтом. Обойти это невозможно, потому что браузеры будут верить заголовкам только с одного и того же сервера. Если другой сайт не выдает нужные заголовки, и если у вас нет другого сайта, вы ничего не можете с этим поделать.

Вы можете написать скрипт PHP, который обращается к другому сайту от имени пользователя, сначала загружает поток октетов на сервер, а затем отправляет его пользователю с желаемыми заголовками. Другими словами, ваш скрипт будет действовать как прокси-сервер. Посмотрите в модуль curl, если интересно. Но это приведет к увеличению пропускной способности вашего сервера, а также могут возникнуть проблемы с авторским правом.

...