首先使用filesize()函数获取本地视频文件大小,再通过格式化函数转换为KB、MB或GB单位;对于远程文件,则发送HTTP HEAD请求读取Content-Length响应头来获取大小信息。
获取视频文件大小在PHP开发中很常见,比如上传验证、资源管理等场景。关键在于准确读取文件的字节信息,并以合适单位展示。下面介绍几种实用方法。
使用filesize()函数直接获取
PHP内置的filesize()函数是最直接的方式,能返回指定文件的字节数。
注意:文件必须存在且PHP有读取权限,否则会返回false。示例代码:
$file = 'example.mp4';if (file_exists($file)) { $size = filesize($file); echo "文件大小:" . number_format($size / (1024 * 1024), 2) . " MB";}格式化输出更友好的单位
原始字节数不直观,可封装一个函数自动转为KB、MB或GB。
立即学习“PHP免费学习笔记(深入)”;

巧文书是一款AI写标书、AI写方案的产品。通过自研的先进AI大模型,精准解析招标文件,智能生成投标内容。


例如:
function formatFileSize($bytes) { if ($bytes zuojiankuohaophpcn 1024) return $bytes . ' B'; elseif ($bytes < 1024 * 1024) return number_format($bytes / 1024, 2) . ' KB'; elseif ($bytes < 1024 * 1024 * 1024) return number_format($bytes / (1024 * 1024), 2) . ' MB'; else return number_format($bytes / (1024 * 1024 * 1024), 2) . ' GB';}// 使用echo formatFileSize(filesize('example.mp4'));处理远程视频文件大小
如果视频在远程服务器上,filesize()无法使用。可通过发送HTTP HEAD请求获取Content-Length头。
示例:
$url = 'https://example.com/video.mp4';$headers = get_headers($url, 1);if (isset($headers['Content-Length'])) { $size = (int)$headers['Content-Length']; echo formatFileSize($size);}注意:部分服务器可能不返回Content-Length,尤其是启用了压缩或分块传输时。基本上就这些。本地文件用filesize()最简单,远程则依赖HTTP头信息。结合格式化函数,能更清晰地展示结果。
以上就是PHP获取视频文件大小技巧_PHP获取视频文件大小技巧的详细内容,更多请关注php中文网其它相关文章!