PHP:我需要在php中阅读你的#34; www.smple.com/sample.php/value中的值

时间:2017-09-14 05:36:05

标签: php xampp wamp lamp

我需要在php代码中读取url中的值。以下是示例网址。我在php文件名后传递值。 我知道我们可以使用像" www.smple.com/sample.php这样的查询字符串?name = value"

但要求是url需要文件名/值,这个值将是动态的。 请任何人都可以帮我解决这个问题。

网址:www.smple.com/sample.php/value

3 个答案:

答案 0 :(得分:0)

使用parse_url从URL获取路径,然后使用explode将其拆分为其段。

$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);

echo $uri_segments[1];

答案 1 :(得分:0)

如果值类似

http://www.example.com?value=42

您可以使用

阅读
$value = $_GET['value'];

如果值类似

http://www.example.com/index.php/foo

其中foo是值,您可以使用$ _SERVER变量读取它:

$_SERVER['SERVER_NAME'] => localhost
$_SERVER['REQUEST_URI'] => /index.php/foo
$_SERVER['REQUEST_METHOD'] => GET
$_SERVER['SCRIPT_NAME'] => /index.php
$_SERVER['SCRIPT_FILENAME'] => /Users/sensorario/Development/local/fake-server/web/index.php
$_SERVER['PATH_INFO'] => /foo
$_SERVER['PHP_SELF'] => /index.php/foo

此外,如果您需要有关请求的更多信息,请输入

print_r($_SERVER);

查看当前请求可以获得的所有信息^ _ ^

答案 2 :(得分:0)

如果我做对了,你想把你的参数作为一个友好的网址传递给你。如果是这种情况,你需要在Apache或Nginx中使用重写模式,所以当你得到example.com/xxx/yyy后,它会发送到php example.com/xxx?param=yyy,你可以通过$_SERVER['QUERY_STRING']得到它如上/下文的答案所述。

Apache信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html