我需要检查此链接是普通页面还是传递给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);
}
答案 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;
}
参考文献: