1

我正在尝试做一个简单的 POST。我正在使用下面的代码,但是当我查看服务器日志时,它显示它正在执行 POST 而不是 GET。知道为什么吗?代码如下。

谢谢,马克

$url = 'http://www.mydomain.com/api.php';
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@path\file.jpg');

  $headers = array(
    'Content-Type: image/jpeg'
  );


curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '3');
curl_setopt($ch, CURLOPT_HEADER      ,1);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$result = curl_exec( $ch );
4

2 回答 2

0

我猜您的标头会混淆服务器,如果您需要将其发布为 multipart/form-data,请不要设置标头,并将您的数据数组更改为此,它应该会有所帮助。

$data = array('name' => 'Foo', 'file' => '@path\file.jpg;type=image/jpeg');
于 2012-11-05T08:58:05.003 回答
0

只要你有这条线:

 curl_setopt($ch, CURLOPT_POST, 1);

这将是一个 POST 请求。如果您删除该行,它将是一个 GET 请求...然后您需要将数据放入查询中。

于 2012-11-04T22:51:54.060 回答