Методы получения аргументов командной строки в PHP с примерами кода

Чтобы получить аргументы из командной строки в PHP, вы можете использовать переменные $argvи $argc. Вот несколько методов с примерами кода:

Метод 1: использование $argvи $argc

<?php
// command.php
if ($argc > 1) {
    $arguments = array_slice($argv, 1);
    var_dump($arguments);
} else {
    echo "No arguments provided.";
}
?>

В этом примере $argcхранит количество переданных аргументов, а $argvпредставляет собой массив, содержащий аргументы. Мы используем array_slice(), чтобы удалить первый элемент, который является самим именем сценария, а затем мы можем получить доступ к аргументам и обработать их.

Метод 2: использование $_SERVER['argv']

<?php
// command.php
if (isset($_SERVER['argv'])) {
    $arguments = array_slice($_SERVER['argv'], 1);
    var_dump($arguments);
} else {
    echo "No arguments provided.";
}
?>

Этот метод аналогичен предыдущему, но для доступа к аргументам командной строки он использует суперглобальную переменную $_SERVER['argv'].

Метод 3: использование getopt()

<?php
// command.php
$options = getopt("a:b:c:");
var_dump($options);
?>

В этом примере мы используем функцию getopt(), которая позволяет указать ожидаемые параметры и их значения. Функция анализирует аргументы командной строки и возвращает ассоциативный массив, содержащий параметры и их значения.

Метод 4. Использование $_GET(для веб-скриптов PHP)

<?php
// script.php?arg1=value1&arg2=value2
if (isset($_GET['arg1']) && isset($_GET['arg2'])) {
    $arg1 = $_GET['arg1'];
    $arg2 = $_GET['arg2'];
    echo "arg1: $arg1, arg2: $arg2";
} else {
    echo "No arguments provided.";
}
?>

Этот метод специфичен для веб-скриптов PHP. Он извлекает аргументы из строки запроса, используя суперглобальный массив $_GET.