将参数(filename)传递给CLI PHP脚本

时间:2015-03-16 21:32:33

标签: php command-line text-processing

我想用PHP编写脚本来处理文本文件。我知道有几种方法可以做到这一点,除了我想做的一种方法。我希望能够传递文件名,就像传统的命令行应用程序一样。

例如:

php script.php textfile.txtscript.php textfile.txt

我认为可以这样做,因为你将参数传递给作曲家。我无法在文档或Google中找到该怎么做。

有人能指出我正确的方向吗?或者指向一种支持这种语言的语言(如果PHP不是选项,可能是Python或Groovy)。

1 个答案:

答案 0 :(得分:3)

在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 documentation

这是创建脚本的一种非常简单的方法,但是如果要创建高级命令行工具程序,我建议使用Symfony2 Console Component

控制台组件将使您能够将每个命令的功能封装在其自己的类中。然后你可以创建一个简单的&#34;控制台&#34;能够执行任何这些命令的文件。看一个简单的示例应用程序here