当用户输入他在其他网站上传的文件的链接时,我想从PHP中找到文件的大小。但是如何?
答案 0 :(得分:16)
我假设你想要一个远程文件的大小。以下PHP代码应该可以解决这个问题:
<?php
// URL to file (link)
$file = 'http://example.com/file.zip';
$ch = curl_init($file);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec($ch);
curl_close($ch);
if (preg_match('/Content-Length: (\d+)/', $data, $matches)) {
// Contains file size in bytes
$contentLength = (int)$matches[1];
}
?>
您首先需要获取该文件的URL,该文件与MediaFire和其他文件共享网站相关,在满足免费用户等待期后需要额外的代码才能获得。
答案 1 :(得分:9)
strlen(file_get_contents($url_file));
strlen
函数是二进制安全的,所以你只需要得到文件内容的长度。