检测链接是否具有视频扩展名(.avi或.mpg等..)返回false

时间:2013-07-21 18:11:01

标签: php

我需要检查此链接是普通页面还是传递给file_get_contents的视频

因为如果链接是视频,页面将等到获得整个视频代码

我无论如何都不需要视频代码

我的代码示例

//$fooURL = "foofoo.com/page.html";
//$fooURL = "foofoo.com/video.mpg";
//$fooURL = "foofoo.com/video.avi";

if($fooURL == ???){
    echo "This a video not normal page";
}else{
    file_get_contents($fooURL);
}

4 个答案:

答案 0 :(得分:3)

您可以使用正则表达式:

if(preg_match('/.*\.(:?mpg|avi)/', $fooURL)){
    echo "This a video not normal page";
    ...

根据需要添加相应的扩展程序:(:?mpg|avi|mp4)等。

答案 1 :(得分:2)

考虑使用finfo_file函数返回文件的MIME类型,然后使用preg_match()解析该输出以查看它是否是视频。

答案 2 :(得分:0)

查看strpos功能。

答案 3 :(得分:0)

我建议,为了相对简单:

switch (strtolower(array_pop(explode('.', $fooURL)))) {
    case 'mpg':
    case 'avi':
    // etc...
       echo "This would be a video link.";
       break;
    case 'html':
    case 'php':
    default:
        echo "This isn't, or doesn't seem to be, a video file.";
        break;
}

参考文献: