2013-07-31 1 views
0

Давайте сначала проясним ситуацию. С 2007 года я использую divShare для загрузки файлов в «облако». Это работает нормально, но сервис в какой-то мере устарел, и нет никаких планов divShare что-то сделать. Загрузка возможна только с устаревшим интерфейсом divShare или некоторыми инструментами, которые нуждаются в Adobe Air или Java. Я хочу настроить его самостоятельно с помощью функций перетаскивания HTML5, например.Можно ли создать туннель для загрузки файлов (от сервера к серверу) с помощью PHP без накладных расходов на файл

У меня есть REST-API для их обслуживания и вы можете загружать файлы на сервер, но нет Ajax-API, который позволяет мне загружать непосредственно свои службы с помощью настраиваемого метода загрузки.

Я не хочу слышать, чтобы переключиться на другого поставщика облачных услуг, потому что это слишком дорого для этого, у меня много проектов, которые полагаются на эту услугу. Служба работает нормально (для загрузки), поэтому нет причин для переключения. Пользователи используют сайт divShare (неуклюжий интерфейс) для загрузки файлов или использования предоставленного приложения Java или Air, если это возможно.

Как я писал ранее, я могу загружать файлы непосредственно на сервер со своим API. Я могу создать HTML-форму, которая может загрузить (а) файл (ы) на мой сервер и после этого загрузить его в службу divShare, но это очень неэффективно, если вы спросите меня, особенно при загрузке больших файлов, mp3-файлов или видеофайлов. Кроме того, мой сервер не такой мощный, как divShare.

API-интерфейс divShare использует cURL для загрузки файла на свои серверы.

Мой вопрос: Можно ли загрузить файл через туннель процесса загрузки или перенаправить его? В том, что моему серверу не нужно временно хранить файл? Например, возможно ли это с помощью StreamWrapper?

Если у вас есть какие-либо идеи, предложения, вопросы, ответы, пожалуйста, дайте мне знать.

+0

Нет. Пользовательский код PHP не запускается до тех пор, пока загрузка не завершится (или, по крайней мере, не сработает). Вы не можете обрабатывать загрузку, пока она «находится в полете». Если вам нужно перенаправить загрузку «на лету», используйте другой язык. –

+0

можно с IIS и ASP.NET. Вы можете добавить модули http-обработчиков, которые будут управлять загрузкой раньше, чем это будет завершено. Я пропустил это в apache/php – hek2mgl

+0

А, спасибо за ваши комментарии. Печально слышать, что это невозможно с PHP. Может ли cronjob сделать трюк? – Codebeat

ответ

0

Невозможно с PHP, см. Также комментарии к этому вопросу выше.

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