CURL Post循环

时间:2013-02-06 10:14:19

标签: php post file-upload curl

我正在运行一个将文件上传到远程表单的脚本

  //submit form
  $form_data = array("file_upload" => "@file.xml;type=text/xml","otherkey" => "overvalue");
  $ch = curl_init();
  $form_url = 'http://www.domain.com/form.php';
  curl_setopt($ch, CURLOPT_URL, $form_url);
  curl_setopt($ch, CURLOPT_POST, 1 );
  curl_setopt($ch, CURLOPT_POSTFIELDS, $form_data);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  curl_setopt($ch, CURLOPT_VERBOSE, 1);      
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  $postResult = curl_exec($ch);
  echo $postResult;

文件正在上传完美,但是在远程服务器上,文件上传和处理后页面重新加载(form.php),但CURL帖子只是重新开始。

我猜这是因为POST数据仍然存在?我怎么能这样做,以便文件上传,处理,然后完成?我设置了FOLLOWLOCATION = 0但没有运气

非常感谢,

1 个答案:

答案 0 :(得分:2)

你怎么知道它又开始了?如果你从回声中推断它,那么当你写这个时它会被回显两次:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); //echoes result at init

而不是

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //returns only result, not echoing