командная строка — передача аргумента (имени файла) в PHP-скрипт CLI

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

Например:

php script.php textfile.txt или же
script.php textfile.txt

Я предполагаю, что это может быть сделано, потому что вы передаете аргументы композитору. Я просто не могу найти, как это сделать в документации или Google.

Может ли кто-нибудь указать мне правильное направление? Или укажите мне язык, который поддерживает это (возможно, Python или Groovy, если PHP не вариант).

0

Решение

В php, если вы запускаете его из командной строки, вы можете рассматривать любое значение после php в качестве аргумента. Внутри вашего script.php у вас будет доступ к этим аргументам в $argv массив.

следующим будет ваш php скрипт:

<?php
// script.php
print_r($argv);

Затем, если вы запустите этот файл из командной строки:

> php script.php foo bar testfile.txt

вы получите следующий результат

Array
(
[0] => script.php
[1] => foo
[2] => bar
[3] => testfile.txt
)

Увидеть PHP документация для дополнительной информации.

Это очень простой способ создания сценария, но если вы хотите создавать расширенные программы инструментов командной строки, я рекомендую использовать Консольный компонент Symfony2.

Компонент консоли позволит вам инкапсулировать функциональность каждой команды в своем собственном классе. Затем вы можете создать простой «консольный» файл, который сможет выполнять любую из этих команд. Взгляните на простой пример приложения Вот.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]