大家好我想要一种方法来回应一些东西,如果网址的结尾是mp4或者txt或者像这样的任何其他文件格式
<?php
$url = $_SERVER['REQUEST_URI'];
if (substr($url,-9)=="php"){
echo "the url end with php";
} else {
echo "the url doesn't end with php";
}
?>
但它不起作用请一些帮助
答案 0 :(得分:2)
签出PHP核心中的pathinfo()以及parse_url():http://php.net/parse_url。 http://php.net/manual/en/function.pathinfo.php
将它与$ _SERVER ['REQUEST_URI']和PATHINFO_EXTENSION标志一起使用。这应该有所帮助。然后你可以在switch语句中使用它:
$url_parts = parse_url($_SERVER['REQUEST_URI']);
$extension = pathinfo($url_parts['path'], PATHINFO_EXTENSION);
switch ($extension) {
case "mp4":
//do something for mp4.
break;
case "wav":
//do something for wav.
break;
}
这适用于URL上也有参数的情况。 http://website.com/file.mp4?param=var仍然是mp4。在这种情况下,只使用pathinfo()会给你“mp4?param = var”。
我没有运行此代码,只是我希望它能够运行。您可能还想在扩展名之前使用strtolower(),以防它在地址栏中大写。
答案 1 :(得分:0)
你可以这样使用,
$url = "http://example.com/zip.php";
$path_parts = pathinfo($url);
echo $path_parts['extension'];