如何用PHP查询远程文件的具体大小?
- 内容介绍
- 文章标签
- 相关推荐
本文共计116个文字,预计阅读时间需要1分钟。
pythondef get_remote_file_size(url, user='', pw=''): response=requests.get(url, headers={'Authorization': f'Basic {base64.b64encode(f{user}:{pw}.encode()).decode()}'}, stream=True) return int(response.headers.get('content-length', 0))
function remote_filesize($url, $user = "", $pw = "")
{
ob_start();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
if(!empty($user) && !empty($pw))
{
$headers = array('Authorization: Basic ' . base64_encode("$user:$pw"));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$ok = curl_exec($ch);
curl_close($ch);
$head = ob_get_contents();
ob_end_clean();
$regex = '/Content-Length:\s([0-9].+?)\s/';
$count = preg_match($regex, $head, $matches);
return isset($matches[1]) ? $matches[1] : "unknown";
}
用法:
<?php $file = "koonk.com/images/logo.png"; $size = remote_filesize($url); echo $size; ?>
本文共计116个文字,预计阅读时间需要1分钟。
pythondef get_remote_file_size(url, user='', pw=''): response=requests.get(url, headers={'Authorization': f'Basic {base64.b64encode(f{user}:{pw}.encode()).decode()}'}, stream=True) return int(response.headers.get('content-length', 0))
function remote_filesize($url, $user = "", $pw = "")
{
ob_start();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
if(!empty($user) && !empty($pw))
{
$headers = array('Authorization: Basic ' . base64_encode("$user:$pw"));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$ok = curl_exec($ch);
curl_close($ch);
$head = ob_get_contents();
ob_end_clean();
$regex = '/Content-Length:\s([0-9].+?)\s/';
$count = preg_match($regex, $head, $matches);
return isset($matches[1]) ? $matches[1] : "unknown";
}
用法:
<?php $file = "koonk.com/images/logo.png"; $size = remote_filesize($url); echo $size; ?>

