Php curl不返回内容长度头

Php curl不返回内容长度头,php,curl,Php,Curl,尝试使用curl获取图像文件大小,但未返回内容长度标头: $url ="http://www.collegefashion.net/wp-content/plugins/feed-comments-number/image.php?1263"; $fp = curl_init(); curl_setopt($fp, CURLOPT_NOBODY, true); curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1); curl_setopt($fp, CURLOP

尝试使用curl获取图像文件大小,但未返回内容长度标头:

$url ="http://www.collegefashion.net/wp-content/plugins/feed-comments-number/image.php?1263";
$fp = curl_init();
curl_setopt($fp, CURLOPT_NOBODY, true);
curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($fp, CURLOPT_FAILONERROR,1);
curl_setopt($fp, CURLOPT_REFERER,'');
curl_setopt($fp, CURLOPT_URL, $url);
curl_setopt($fp, CURLOPT_HEADER,1);
curl_setopt($fp, CURLOPT_USERAGENT,'Mozilla/5.0');
$body = curl_exec($fp);
变量转储($body):

它通过ssh工作:

curl -i http://www.collegefashion.net/wp-content/plugins/feed-comments-number/image.php?1263
HTTP/1.1 200 OK
Date: Sun, 02 May 2010 03:38:43 GMT
Server: Apache/2.0.63 (CentOS)
X-Powered-By: W3 Total Cache/0.8.5.2
X-Pingback: http://www.collegefashion.net/xmlrpc.php
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Content-Length: 347
Content-Type: image/png
检查

$size = curl_getinfo($fp, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl\u exec()之后执行它

另一个选项是将
CURLOPT_HEADER
设置为
false
,只需执行
strlen($body)
——忽略此选项,我没有注意到您正在使用
CURLOPT_NOBODY
检查

$size = curl_getinfo($fp, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl\u exec()之后执行它


另一个选项是将
CURLOPT_HEADER
设置为
false
,只需执行
strlen($body)
——忽略这一点,我没有注意到您正在使用
CURLOPT_NOBODY
CURLOPT_NOBODY发出HEAD请求,而您的命令行-I是GET请求


如果在命令行版本中使用-I,它们会更相似。

CURLOPT\u没有人发出HEAD请求,而在命令行中使用-I是GET请求


如果在命令行版本中使用-I,它们会更相似。

谢谢!就这样。head请求不会返回该服务器的内容长度。只需补充:一些服务器只是拒绝head请求并返回405状态码(即“不允许使用方法”),谢谢!就这样。head请求不会返回该服务器的内容长度。只是补充一下:一些服务器只是拒绝head请求并返回405状态码(即“不允许使用方法”)