如何用CURL调用PHP的特定方法

时间:2012-03-29 19:44:22

标签: php api curl

我正在开发一个API。在这个API中,我需要修改已经单击的一些用户数据..(基本上是 dosomething.php 页面中的更新方法)。

所以我知道PUT方法..但我有多种用户更新方法..

所以我的问题是如何使我的dosomething.php页面了解curl调用哪种更新方法。

我的卷曲网址是

  

http://localhost/apitest/dosomething.php

我应该从curl请求获取数据,还是在dosomething.php 页面中使用 switch case? 帮帮我,这是正确的方法。


丹尼尔·A·怀特现在说我能做到这一点 我的卷曲网址 http://localhost/apitest/dosomething.php?method=updatemobileno

并在php中获取此变量值并使用它来选择我的特定方法??

2 个答案:

答案 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&param1=value1&param2=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'])
}