2012-11-04 34 views
1

我试图做一个简单的POST。我使用下面的代码,但是当我查看服务器日志时,它显示它正在执行POST而不是GET。任何想法为什么?下面的代码。做有卷曲,但服务器显示一个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); 
+0

对不起你怎么想干什么?你说你想做一个POST,但那是问题? – jtheman

+0

我不知道为什么要设置“内容类型:image/JPEG”当你只发送一个字符串“@path \ file.jpg”。如果您尝试上传图片,则需要将其加载到您的PHP脚本中,并且您将希望使用帖子。 – Codeguy007

回答

0

只要你有行:

curl_setopt($ch, CURLOPT_POST, 1); 

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

0

我猜你的头混淆了服务器,如果您需要发布它的multipart/form-data的,不设置页眉,并更改数据阵列此,它应该帮助。

$data = array('name' => 'Foo', 'file' => '@path\file.jpg;type=image/jpeg');