Как вызвать конкретный метод PHP с CURL - PullRequest
1 голос
/ 29 марта 2012

Я занимаюсь разработкой API. В этом API мне нужно изменить некоторые из данных пользователей, которые уже подписаны .. (в основном метод обновления, который находится на dosomething.php странице).

Так что я знаю о методе PUT .. но у меня есть более одного метода для пользовательских обновлений ..

, поэтому мой вопрос заключается в том, как мне заставить мою страницу dosomething.php понять, какой метод обновления вызывается curl.

Мой URL-адрес curl:

http://localhost/apitest/dosomething.php

.

Должен ли я получить данные из запроса curl и чем использовать регистр переключателя на странице dosomething.php ?Помогите мне, какой правильный способ сделать.


теперь сказал Дэниел А. Уайт, могу ли я сделать так Мой URL-адрес curl http://localhost/apitest/dosomething.php?method=updatemobileno

и чем получить значение этой переменной в phpи использовать его, чтобы выбрать мой конкретный метод ??

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Вы не можете вызвать напрямую a PHP метод с GET / POST / PUT HTTP-запросом . Вам нужно вызвать скрипт 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();
    }

?>
0 голосов
/ 26 марта 2017

Ну, у меня есть неясная идея, но не рекомендуется использовать это (кто-то, пожалуйста?).
Рассмотрим этот запрос публикации с помощью

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'])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...