我正在开发一个API。在这个API中,我需要修改已经单击的一些用户数据..(基本上是 dosomething.php 页面中的更新方法)。
所以我知道PUT方法..但我有多种用户更新方法..
所以我的问题是如何使我的dosomething.php页面了解curl调用哪种更新方法。
我的卷曲网址是
我应该从curl请求获取数据,还是在dosomething.php 页面中使用 switch case? 帮帮我,这是正确的方法。
丹尼尔·A·怀特现在说我能做到这一点 我的卷曲网址 http://localhost/apitest/dosomething.php?method=updatemobileno
并在php中获取此变量值并使用它来选择我的特定方法??
答案 0 :(得分:2)
您无法使用GET
/ POST
/ PUT
HTTP请求直接 PHP 方法即可。您需要调用 PHP 脚本,然后根据需要路由到适当的方法。
因此,您可以使用以下内容调用 curl :
$ curl http://localhost/apitest/dosomething.php
然后,dosomething.php
将是 PHP 脚本,接收 HTTP请求,在其中,您可以调用相应的方法:
<?php
function f_put() {
// put magic here
}
function f_post() {
// post magic here
}
function f_get() {
// get magic here
}
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
f_get();
} else if if ($_SERVER['REQUEST_METHOD'] == 'POST') {
f_post();
} else if if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
f_put();
}
?>
答案 1 :(得分:0)
嗯,我有一个模糊的想法,但不建议使用此(有人请?)。
请考虑使用
curl --data "func=fn_name¶m1=value1¶m2=value2" https://example.com/x.php
现在在x.php文件中
function fn1($p,$q)
{
}
function fn2($a,$b)
{
}
if($_POST['func']=="fn1")
{
fn1($_POST['param1'],$_POST['param2'])
}
if($_POST['func']=="fn2")
{
fn2($_POST['param1'],$_POST['param2'])
}