【问题标题】:PHP Not Reading After?PHP 不阅读之后?
【发布时间】:2021-11-30 15:30:47
【问题描述】:

找不到这个问题,所以如果它已经被问到,我真的很感激被重定向!

所以我正在使用 PHP 创建一个 RESTful API,但我似乎无法从 API 调用中获取参数。 API 调用是~/database/table?key=value,其中波浪号代表与我的服务器的连接。以下是我的代码:

$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', $_SERVER['PATH_INFO']);
$body = json_decode(file_get_contents('php://input'), true);

这就是我对上述代码的理解。我将方法放入$method,这将是 GET、PUT 等。$request 然后创建一个数组,每个东西都分开,据我了解,它看起来像: [database, table?key=value]$body 将获取我附加到请求的任何数据,在我的情况下是 JSON。

我遇到的问题是数组的第二个值只得到 table 并且在“?”之后没有得到任何东西在 API 调用中。我错过了什么?我认为explode 仅由我定义的字符“/”分隔。

谢谢!!

【问题讨论】:

  • var_dump($_SERVER[PATH_INFO]) 给出了什么? PATH_INFO 也应该用引号引起来。
  • 它返回了/database/table,很抱歉我错过了,我确实有引号中的PATH_INFO,我会解决这个问题
  • 所以PATH_INFO 不包含查询字符串。试试$_SERVER['REQUEST_URI']stackoverflow.com/questions/967649/…

标签: php api-design


【解决方案1】:

PATH_INFO 不包含查询字符串,而是存储在QUERY_STRING 中。抱歉这个相对琐碎的问题,感谢 user3783243!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 2015-09-20
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多