1

在传递给 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

4 回答 4

3

您可以使用正则表达式:

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

如有必要,添加适当的扩展名:(:?mpg|avi|mp4)等。

于 2013-07-21T18:16:37.443 回答
2

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

于 2013-07-21T18:23:13.020 回答
0

查看strpos函数。

于 2013-07-21T18:15:53.253 回答
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;
}

参考:

于 2013-07-21T18:31:28.023 回答