Uma*_*han 15 php flv file-upload
FLV文件的前3个字节是签名"FLV".现在我的问题:
PHP中是否有可能处理文件上传,以便我们可以挂钩上传文件的输入流并检查前3个字节?
方案是我不希望上传完整的文件(在临时文件夹中),然后检查文件是否是FLV,我只想读取上传流的前几个字节,如果它不是"FLV"那么返回/退出.
该文件需要通过基于HTML的表单上传.不能依赖javascript,flash上传器或任何客户端验证解决方法,即需要一个纯PHP的解决方案.
我已经知道PHP不会将控制交给我们的脚本,直到它完成在临时文件夹中上传文件并填充全局变量$_POST $_GET $_FILES等.
此处还有一个类似的问题: 如何在php中逐字节上传文件
但答案不符合我的要求/问题.
任何想法都非常感谢!
谢谢
首先,设置session.upload_progress.enabled在你的php.ini.
然后,用于session.upload_progress跟踪已上载的字节数.达到最低阈值后,检查上传的临时文件,它将在$_SESSION[unique_key]['files'][0]['tmp_name'].如果文件不匹配,请设置$_SESSION[unique_key]["cancel_upload"]为TRUE,文件将被拒绝.
得到unique_key:
ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];
如果上面的方法不起作用(我还没有测试过),那么你唯一的办法就是为Apache创建自己的自定义处理程序(或者更好,作为自定义CGI应用程序).你可以在那里进行过滤.
| 归档时间: |
|
| 查看次数: |
625 次 |
| 最近记录: |