我试图将图片发布到dlvr.it提供的api, 我在我的本地服务器上运行相同的代码没有错误,图像发布正常,但当我上传相同的图像,并将相同的代码上传到我的服务器时,api返回给我106错误图像太大或类型错误。但它没有任何意义,它与我本地服务器上传的图像相同
这是我的代码:
$url = 'http://api.dlvr.it/1/postToRoute.' . $format;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt ($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/test.cookie'); // replace this with /tmp or something like that
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, true);
/*curl_setopt($ch, CURLOPT_VERBOSE, true);
$verbose = fopen('php://temp', 'rw+');
curl_setopt($ch, CURLOPT_STDERR, $verbose);*/
$data = array(
'key' => $this->get_key(),
'id' => 769605,
'msg' => "$msg",
'media' =>'@' . realpath('tempimages/NlTtSYaVoKcLIgt11313XUeEiHfvOgnHfYU.jpg')
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
var_dump($result);
if ($result === FALSE) {
printf("cUrl error (#%d): %s<br>\n", curl_errno($ch),
htmlspecialchars(curl_error($ch)));
}
/*rewind($verbose);
$verboseLog = stream_get_contents($verbose);
echo "Verbose information:\n<pre>", htmlspecialchars($verboseLog), " </pre>\n";*/
任何想法?