Чтение аргументов командной строки

PHP:
Чтение аргументов командной строки

Как это сделать:

PHP использует глобальный массив $argv для хранения аргументов командной строки, причём $argv[0] является именем скрипта. Вот как это используется:

<?php
// проверяем, переданы ли какие-либо аргументы
if ($argc > 1) {
    echo "Привет, " . $argv[1] . "!\n";
} else {
    echo "Привет, кто бы ты ни был!\n";
}
?>

Если вы назовете этот скрипт sayhello.php и запустите php sayhello.php Мир, вывод будет:

Привет, Мир!

Нет аргументов? Получите:

Привет, кто бы ты ни был!

Глубокое Погружение

Исторически скрипты командной строки были основой системной автоматизации, задолго до того, как графические интерфейсы взяли верх. PHP, хотя и широко используется для веб-разработки, также предоставляет надежную поддержку CLI.

Два основных способа чтения аргументов в PHP - это $argv и функция getopt(). Первый представляет собой простой массив, в то время как getopt() предоставляет более сложную функциональность, такую как разбор параметров (со значениями или без).

Что касается реализации, то $argv и $argc (количество аргументов) автоматически доступны в режиме CLI — не требуется дополнительной настройки. Они не присутствуют при выполнении веб-скриптов PHP, потому что это не их арена.

Но помните, если вы зарегистрируете argv и argc как глобальные переменные через php.ini или конфигурацию сервера, их также можно будет получить в веб-скриптах. Хотя это редко необходимо и может представлять собой риск для безопасности.

Смотрите также

Для более сложного разбора командной строки:

Чтобы углубиться в CLI сервер PHP:

Взаимодействуйте с сообществом PHP: