如何使用request_uri选择多个URL

时间:2016-05-31 23:10:38

标签: php

我正在使用php脚本来处理数千个查询(即http://localhost:1234/browse.php?cat=2),因此我不想在数组中编写数千个URL来处理if和else条件,例如下面的, 请指导我如何才能使用“?”如果url包含“?”,请在我的URL中签名以区分要处理的命令标志。 我在代码中使用了“/browse.php?*”,如下面的示例所示,但它仍然不适合我...请指导,因为我是新的PHP和搜索和很多关于这个答案,但无法找到一个正宗回答它,谢谢

if(in_array($_SERVER['REQUEST_URI'],array('/browse.php','/browse.php?*')))
{
echo "<Something Like this 1>";
}
elseif ($url == "")
{
echo "<Something Like this 2>";
};

2 个答案:

答案 0 :(得分:0)

in_array只会在此处检查完整匹配,并且不适合您尝试执行的操作。 PHP有很多String Functions你应该看看。

if (strpos($_SERVER['REQUEST_URI'], '?') !== false) {
    //URL has '?' mark
}
else{
    //URL has no '?' mark
}

答案 1 :(得分:0)

我相信您只关注cat网址搜索参数?如果是这样,您可以使用browse.php数组在$_GET脚本中访问此参数:

<?php
    if (array_key_exists('cat', $_GET)) {
        echo "cat parameter: {$_GET['cat']}"; // display ?cat=value
    } else {
        echo 'No cat URL parameter'; // ?cat was not in the URL
    }
?>

http://localhost:1234/browse.php - &gt;没有猫网址参数

http://localhost:1234/browse.php?cat=57890 - &gt; cat参数:57890