PHP: как переадресовать на $ _FILES с помощью cURL - PullRequest
1 голос
/ 08 июня 2010

Я пытаюсь использовать cURL для пересылки http-запроса из формы в разрабатываемом веб-приложении. По сути, мне нужно отправить одну и ту же форму дважды на разных серверах, для второго сервера я добавляю некоторые меры безопасности к почтовым данным.

Я могу получить информацию $ _POST во второй форме совершенно нормально, однако у меня большие проблемы с моими $ _FILES - я попытался разделить их, поэтому есть отдельный запрос для данных записей и файлов, но все еще не повезло.

Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 08 июня 2010
<?php
$filename = '/foo/bar';
$postargs = array(
   'foo' =>'bar', //normal postfield
   'fileentry' => '@'.$filename //be sure to give it as an absolute path!, $_FILES['fileentry']['tmp_name'] usually has this
 );

$ch = curl_init();
//other stuff with curl
curl_setopt($ch,CURL_POSTFIELDS, $postargs);//give as array for proper encoding.
curl_exec();
?>
0 голосов
/ 08 июня 2010

Вы можете:

  • заставить PHP не обрабатывать файлы (подробности см. в этом вопросе );
  • используйте curl для отправки file_get_contents('php://input') в качестве необработанных данных (подробности см. в этом вопросе ). Вы также должны будете перенаправить некоторые заголовки HTTP с CURLOPT_HTTPHEADER, а именно Content-Length и Content-type.

Это позволяет избежать попадания в файловую систему.

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