ホームページ  >  記事  >  バックエンド開発  >  PHP はリクエストヘッダー情報を使用してリモート画像のサイズを取得します

PHP はリクエストヘッダー情報を使用してリモート画像のサイズを取得します

WBOY
WBOYオリジナル
2016-07-25 08:55:12934ブラウズ
  1. $fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30);
  2. if ($fp) {
  3. //リクエストをHEADに設定するだけここ。
  4. $out = "HEAD /img/baidu_sylogo1.gif HTTP/1.1rn";
  5. $out .= "ホスト: www.baidu.comrn";
  6. $out .= "接続: Closernrn";
  7. fwrite($ fp , $out);
  8. while (!feof($fp)) {
  9. $header = fgets($fp);
  10. if (stripos($header, 'Content-Length') !== false) {
  11. $size = トリム(substr($header, strpos($header, ':') + 1));
  12. echo $size;
  13. }
  14. }
  15. fclose($fp);
  16. } else {
  17. echo "$errstr ($errno ) ";
  18. }
コードをコピーします

GET リクエストを開始するのと同じように、リクエスト タイプ GET を HEAD に設定するだけです。 要求されたホストとパスを必要なものに変更するだけです。

概要: PHP は get_headers を使用してヘッダー情報を取得することもできます。この関数をテストした後、それは GET リクエストになります。詳細については、PHP 関数 get_headers は HEAD リクエストまたは GET リクエストです を参照してください。 さらに、一部のサーバーは HEAD リクエストをブロックする場合があります。ブロックされた場合は、GET リクエストのみを使用できます。

このようにして、既製の関数 getimagesize を直接使用して画像のサイズを取得できます。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。