如何从URL获取数据

时间:2017-03-29 17:38:58

标签: php url

我正在为我的公司开发API。通常,我们使用POST& GET方法将表单数据发送到其他网站或其他页面。但我想要的是,如果我们想要在URL中发送数据       http://www.example.com/data1/data2/data3

像那样。 在这种情况下,Data1,Data2,Data3是我们的数据,我想用PHP中的这些数据。 我正在寻找,但我找不到我想要的东西。

3 个答案:

答案 0 :(得分:2)

查看Apache mod_rewrite(http://httpd.apache.org/docs/current/mod/mod_rewrite.html)。

您可以将data1/data2/data3重写为?thing1=data1&thing2=data2&thing3=data3,然后像往常一样使用$_GET ...

答案 1 :(得分:1)

您正在寻找的内容称为 URL重写,所有主要的Web服务器(如Apache和NGINX)都支持

要了解有关apache中URL重写的更多信息,请访问: https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049

要了解有关NGINX中整洁网址的更多信息,请浏览https://serverfault.com/questions/653177/clean-url-with-several-params-in-nginx

在apache服务器中,可以通过启用名为mod_rewrite的模块来实现干净的URL,一种简单的方法是使用.htaccess文件。

在nginx中,您可以使用web.config文件。

拥有干净的URL后,您可以使用GET,PUT,POST,PATCH,DELETE等任何方法,但请记住,如果用户在浏览器中输入您的URL,则默认情况下它始终是GET请求。

答案 2 :(得分:1)

您可以通过简单地获取整个网址和preg_split()字符串,如下面的代码

来实现
$path = $_SERVER['REQUEST_URI']; // this gives you /folder1/folder2/THIS_ONE/file.php
$folders = preg_split('/', $path); // splits folders in array
$what_we_need = $folders[3];