【发布时间】:2018-06-26 08:23:19
【问题描述】:
我无法找到一种方法来了解文件是否真的是视频或图像。 例如:我有一个重命名为 .mp4 的 .jpg 图像,如果我通过计算机或浏览器打开它,我什么也看不到,因为它不是真正的视频。 我正在寻找一种方法来了解超出所需扩展名的视频/图像是否也是视频或图像,具体取决于请求。 理论上我想要一个类似的结果:
$ImageOrVideo = pathinfo($_FILES["file"]["tmp_name"],PATHINFO_EXTENSION);
switch($ImageOrVideo){
case 'jpg': //check if a real image
case 'mp4': // check if a real video
default: exit('stop');
}
我曾想过一些解决方案,例如过去我对图像使用getimagesize(),但现在php文档说:
注意 此函数要求文件名是有效的图像文件。如果一个 提供了非图像文件,它可能被错误地检测为图像 并且函数将成功返回,但数组可能包含 无意义的值。
不要使用 getimagesize() 来检查给定文件是否为有效图像。 请改用 Fileinfo 扩展等专用解决方案。
【问题讨论】:
-
您是否尝试过按照文档建议使用
Fileinfo扩展? -
是的,当然。
-
你有问题吗?
-
是的,他不知道这是否真的是一个视频。
标签: php file-upload