FLV 文件的前三个字节是签名“FLV”。现在我的问题是:
在 PHP 中有没有可能处理文件上传,以便我们可以钩入上传文件的输入流并检查前三个字节?
场景是我不想完整地上传文件(到临时文件夹),然后再检查文件是否为 FLV,我只想读取上传流的前几个字节,如果不是“FLV”,则返回/退出。
文件需要通过基于 HTML 的表单上传。不能依赖 JavaScript、Flash 上传器或任何客户端验证解决方法,即需要一个纯 PHP 解决方案。
我已经知道 PHP 不会将控制权交给我们的脚本,直到它完成上传文件到临时文件夹并填充全局变量(如
此外,这里还有一个类似的问题:How to upload a file byte by byte in php,但是答案并不满足我的要求/问题。
非常感谢任何想法!
在 PHP 中有没有可能处理文件上传,以便我们可以钩入上传文件的输入流并检查前三个字节?
场景是我不想完整地上传文件(到临时文件夹),然后再检查文件是否为 FLV,我只想读取上传流的前几个字节,如果不是“FLV”,则返回/退出。
文件需要通过基于 HTML 的表单上传。不能依赖 JavaScript、Flash 上传器或任何客户端验证解决方法,即需要一个纯 PHP 解决方案。
我已经知道 PHP 不会将控制权交给我们的脚本,直到它完成上传文件到临时文件夹并填充全局变量(如
$_POST
、$_GET
、$_FILES
等)为止。此外,这里还有一个类似的问题:How to upload a file byte by byte in php,但是答案并不满足我的要求/问题。
非常感谢任何想法!
$file = fopen(..); if(fgets($file, 3) === "FLV"){..} fclose($file);
? - Danny Beckett