CURL + $ GLOBALS ["HTTP_RAW_POST_DATA"] в PHP - PullRequest
0 голосов
/ 12 марта 2010

Я использую CURL для загрузки файлов в сервис.

В настоящее время я получаю содержимое файла с помощью $ GLOBALS ["HTTP_RAW_POST_DATA"] и сохраняю его на моем сервере.

после этого я использую CURLOPT_POSTFIELDS с полным путем файла. Есть ли способ отправить содержимое файла напрямую, не сохраняя его на моем сервере, как если бы я его сохранил?

Или есть способ загрузить фотографию из приложения flash в альбом facebook, не сохраняя ее на сервере?

Спасибо

1 Ответ

0 голосов
/ 12 марта 2010

Если вы загружаете данные, вы можете использовать механизм загрузки файлов в PHP http://php.net/manual/en/features.file-upload.php Он автоматически обрабатывает загрузку файлов PHP.

Если вы хотите перенаправить загрузку другому (стороннему сервису) без необходимости быть в цепочке команд (т.е. пользователь-> сторонний сервер), вы можете заглянуть в AJAX. AFAIK, когда вы загружаете файл, используя PHP / формы, файл будет загружен в ваш временный каталог PHP, и нет никакого способа предотвратить это, потому что:
1. Чтобы получить доступ к файлу, он должен быть на сервере (PHP - это сервер, который выполняет, то есть он не может выполняться на стороне пользователя)
2. Я не верю, что какой-либо пользователь захочет, чтобы вы имели доступ к их файлам на своем компьютере, и вы не сможете это сделать (Firewall, AV), если это произойдет, это станет серьезной проблемой безопасности

Как я уже говорил выше, вы хотите рассмотреть AJAX (я использовал jquery, и их методы AJAX очень просты). Поскольку AJAX - это пользовательский javascript, он может работать на компьютере и инициировать соединение с любым URL-адресом. Таким образом, вы можете получить прямой доступ к сервису без отправки файла на ваш сервер.

Вот пример загрузки AJAX (вы можете зайти в Google): http://valums.com/ajax-upload/

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...