関数remote_filesize($uri,$user='',$pw='')
{
// 出力バッファリングを開始します
ob_start();
// 指定された URI でカールを初期化します
$ch =curl_init($uri);
// ヘッダーを必ず取得します
curl_setopt($ch, CURLOPT_HEADER, 1);
// http HEAD リクエストにします
curl_setopt($ch, CURLOPT_NOBODY, 1);
// 認証が必要な場合は、ここで認証を行ってください
if (!emptyempty($user) && !emptyempty($pw))
{
$headers = array('Authorization: Basic ' .base64_encode($user.':'.$pw));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$okay =curl_exec($ch);
curl_close($ch);
// 出力バッファを取得します
$head = ob_get_contents();
// 出力バッファをクリアして前に戻ります
// バッファ設定
ob_end_clean();
エコー「 」
head->'.$head.'<----end
';
// Content-Length から数値を取得します
// http ヘッダーのフィールド
$regex = '/Content-Length:s([0-9].+?)s/';
$count = preg_match($regex, $head, $matches);
// Content-Length フィールドがある場合は、その値
// これで $matches[1] に追加されます
if (isset($matches[1]))
{
$size = $matches[1];
}
それ以外
{
$size = '不明';
}
//$last=round($size/(1024*1024),3);
// $last を返します。 MB';
$size を返します;
}
|