Php. Как передать GET-параметры при консольном вызове

Главная  >>  Backend  >>  Php. Как передать GET-параметры при консольном вызове

При разработке php-приложений, предназначенных для консольного вызова часто стоит задача передачи обычных GET-параметров, наподобие с вызовом браузера. Но, работая через консоль, передача GET-параметров невозможна — это вызывает ошибку.

Ввиду этого передачу GET-параметров следует реализовать следующим образом:

Вызов следует делать следующим образом:

В скрипте принимать переданные параметры следует вот так:


  • Equadro

    Ты конечно красавчик но так не работает.
    Например мне надо в cron сделать задачу по поиску видео с определенного канал в ютубе

    //Проверяем гет запрос с браузера например http://192.168.0.100/api/youtube/youtube.php?channel=testChannel
    // получаем testChannel, идем дальше
    if(isset($_GET[‘channel’])) {
    $channel = $_GET[‘channel’];
    } else {
    //Если его нет, это сраный cron пытается достучаться, вот тут то и пригодится argv
    $channel = file_get_contents(«http://192.168.0.100/api/youtube/youtube.php?channel=$argv[1]»);
    exit();
    }

    //Если все ок и есть гет запрос, работаем..
    // Вообщем смысл такой что мы 2 раза на страницу запрашиваемся, если из браузера, то ловим $_GET, ну а если из cron то ловим аргумент

    Пример работы в кроне
    0,15,30,45 * * * * d:/xampp/php/php d:/xampp/htdocs/api/youtube/youtube.php testChannel

    • http://onfor.info onfor

      Может не правильно прочитал пример… но.

      Но почему в самом начале не проверить на isset($_GET[‘chanel’]). Если он пустой — посмотреть channel в $argv[1].

      По идее он должен быть или там, или там. А если нет — то exception и выход.