- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php cli命令 自定义参数传递
php cli命令 自定义参数传递
所有的PHP发行版,不论是编译自源代码的版本还是预创建的版本,都在默认情况下带有一个PHP可执行文件。这个可执行文件可以被用来运行命令行的PHP程序。要在你的系统上找到这个可执行文件,就要遵照下面的步骤:??????? Windows :放在PHP主安装目录下,文件名是php.exe或者(在老版本的PHP里)是php-cli.exe。??????? Linux : 保存在PHP安装目录的bin/子目录下。
需要注意的是CLI模式和CGI模式运行时用的PHP.INI并非同一套配置,需要单独配置。不论是在哪一个操作系统里,你都需要对它进行测试,以保证它能够正常运行,方法是用-v参数调用它:
?
shell /path/php.exe -v
PHP 5.0.0 (cli) (built: Jun 1 2005 18:32:10)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.0, Copyright (c) 1998-2004 Zend Technologies ?它应该会返回PHP的版本号。
?
使用CLI命令一个简单的PHP CLI程序,命名hello.php
?
?php
echo Hello from the CLI;
? 现在,试着在命令行提示符下运行这个程序,方法是调用CLI可执行文件并提供脚本的文件名:
?
shell /path/php.exe /example/hello.php
Hello from the CLI ?
使用标准的输入和输出PHP CLI会定义三个常量,以便让在命令行提示符下与解释器进行交互操作更加容易。这些常量见下表
常量 说明 STDIN 标准的输入设备 STDOUT 标准的输出设备 STDERR 标准的错误设备 ?
???
你可以在自己的PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。
使用范例:
?
?php
// ask for input
fwrite(STDOUT, Enter your name: );
??
// get input
$name = trim(fgets(STDIN));
??
// write input back
fwrite(STDOUT, Hello, $name!);
? output:
?
D:\\wamp\bin\php\php5.3.0\php.exe? \tools\index.php
Enter your name: kkk
Hello, kkk! ???? 在这个脚本里,fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上。命令行自定义变量1【$argv|$argc】在命令行里输入程序参数来更改其运行方式是很常见的做法。你也可以对CLI程序这样做。PHP CLI带有两个特殊的变量,专门用来达到这个目的: 一个是$argv变量,它通过命令行把传递给PHP脚本的参数保存为单独的数组元素; 另一个是$argc变量,它用来保存$argv数组里元素的个数。使用范例:
?
?php
print_r($argv);
? output:
?
D:\\wamp\bin\php\php5.3.0\php.exe? \tools\index.php bac ddd
Array
(
????[0] = \tools\index.php
????[1] = bac
????[2] = ddd
) ?正如你可以从输出的结果看到的,传递给index.php的值会自动地作为数组元素出现在$argv里。要注意的是,$argv的第一个自变量总是脚本自己的名称。
注意:我们还可以用Console_Getopt PEAR类向PHP增加更加复杂的命令行参数。
命令行自定义变量2【使用Console_Getopt接收参数】
注意:这个变量仅在 register_argc_argv 打开时可用
getopt($option, $longopts) // 第一个$option接收 -h vb 第二个参数接收 --require sss
使用范例
?
?php
????????$shortopts = ;
????????$shortopts .= f:;? // Required value
????????$shortopts .= v::; // Optional value
???
文档评论(0)