PHP では、HTTP レスポンスヘッダを取得する関数として、get_headers()があります。
ただし、この関数は、HTTP HEADメソッドを送ってくれる訳ではなく
HTTP GET を実行して、そのレスポンスヘッダーを返します。
ですので、本来は不必要なデータも一緒に送られてくることになります。
HTTP HEAD を送信するためには、以下のようにします。
ちなみに、
$headers=get_headers($url);
と
$headers=get_headers($url,1);
の違いは
こんな違いになります。