首先使用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免费学习笔记(深入)”;
例如:
function formatFileSize($bytes) { if ($bytes elseif ($bytes elseif ($bytes 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中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1323367.html
微信扫一扫
支付宝扫一扫