5

私はこのコードを使用してphpで画像サイズを取得していましたが、完璧に機能していました。

$img = get_headers("http://ultoo.com/img_single.php", 1);
$size = $img["Content-Length"];
echo $size;

しかし、CURL を介してこれを取得するにはどうすればよいでしょうか。これを試してみましたが、うまくいきません。

$url = 'http://ultoo.com/img_single.php';
$ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_HEADER, 1);
 curl_setopt($ch, CURLOPT_HTTPHEADER, "Content-Length" );
 //curl_setopt($ch, CURLOPT_NOBODY, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $result = curl_exec($ch);

 $filesize = $result["Content-Length"];

  curl_close($ch);

  echo $filesize;
4

3 に答える 3

1

設定するcurl_setopt($ch, CURLOPT_HTTPHEADER, true );と、次print_r($result)のようなものが表示されます

HTTP/1.1 200 OK
Date: Tue, 04 Jun 2013 03:12:38 GMT
Server: Apache/2.2.15 (Red Hat)
X-Powered-By: PHP/5.3.3
Set-Cookie: PHPSESSID=rtd17m2uig3liu63ftlobcf195; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 211
Content-Type: image/png

との間でContent-Length異なる結果が得られるため、画像サイズを取得する正しい方法ではないと思いますcurlget_header

于 2013-06-04T03:21:44.983 に答える
0

以前にこれに遭遇しました。使用したスクリプトはここにあります-> http://boolean.co.nz/blog/curl-remote-filesize/638/。上記の投稿とかなり似ていますが、もう少し単純で、寛容さがはるかに劣ります.

于 2013-06-04T02:12:31.817 に答える