мой вопрос, вероятно, легко ответить. Я хочу выполнить свой php-файл с оболочкой и передать параметры ему через пример оболочки
php test.php parameter1 parameter2
есть ли способ сделать это, кроме использования GET?
благодаря
Да, вы можете сделать это так, но вы должны ссылаться на аргументы из $_SERVER['argv']
. $_SERVER['argc']
сообщит вам, сколько аргументов получено, если вы хотите использовать это как первый уровень проверки, чтобы убедиться, что введено необходимое количество аргументов.
Чтобы проиллюстрировать это, args.php arg1 arg2 arg3
следующий скрипт как args.php arg1 arg2 arg3
:
#!/usr/bin/php <?php var_dump($argv); ?>
выведет:
array(4) { [0]=> string(8) "args.php" [1]=> string(4) "arg1" [2]=> string(4) "arg2" [3]=> string(4) "arg3" }
Вот пример:
В этом примере мы создадим скрипт (days.php), который выводит количество дней с определенной даты. Он будет принимать 3 параметра, месяц, день и год в виде чисел.
#!/usr/bin/php <?php if($argc < 4 || !is_numeric($argv[1]) || !is_numeric($argv[2]) || !is_numeric($argv[3])) { echo "Usage: $argv[0] mm dd yyyy\n"; } else { $pastdate = mktime(0, 0, 0, $argv[1], $argv[2], $argv[3]); $diff = time() - $pastdate; $days = round($diff/60/60/24); echo "$days days since $argv[1]/$argv[2]/$argv[3]\n"; } ?>
Shell call:
`$ ./days 11 17 1988` OR `php days.php 11 17 1988`
Вывод:
7699 days since 11/17/1988
Вот подробный учебник:
Доступ к PHP throug SHELL
Надеюсь это поможет.
Вы можете использовать $ argv для получения параметров.