PHP :我需要从 www.smple.com/sample.php/value in php 中读取值
PHP : I need to read value from ur "www.smple.com/sample.php/value in php
我需要在 php 代码中读取 url 的值。下面是示例 url 。我在 php 文件名后传递值。
我知道我们可以使用 "www.smple.com/sample.php?name=value"
这样的查询字符串
但是要求是url需要filename/value,这个值会是动态的。
请任何人都可以帮助我解决这个问题。
使用 parse_url 从 URL 获取路径,然后使用 explode 将其拆分成多个段。
$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);
echo $uri_segments[1];
如果值像
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);
查看当前请求的所有信息^_^
如果我没看错,你想将你的参数作为友好的 url 传递。如果是这种情况,您需要在 Apache 或 Nginx 中使用重写模式,所以当您获得 example.com/xxx/yyy
后,它会发送到 php example.com/xxx?param=yyy
,您可以使用 $_SERVER['QUERY_STRING']
如答案 above/below.
中所述
Apache 信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html
我需要在 php 代码中读取 url 的值。下面是示例 url 。我在 php 文件名后传递值。 我知道我们可以使用 "www.smple.com/sample.php?name=value"
这样的查询字符串但是要求是url需要filename/value,这个值会是动态的。 请任何人都可以帮助我解决这个问题。
使用 parse_url 从 URL 获取路径,然后使用 explode 将其拆分成多个段。
$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);
echo $uri_segments[1];
如果值像
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);
查看当前请求的所有信息^_^
如果我没看错,你想将你的参数作为友好的 url 传递。如果是这种情况,您需要在 Apache 或 Nginx 中使用重写模式,所以当您获得 example.com/xxx/yyy
后,它会发送到 php example.com/xxx?param=yyy
,您可以使用 $_SERVER['QUERY_STRING']
如答案 above/below.
Apache 信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html