PHP命令行脚本接收传入参数的三种方式

2015-01-24信息快讯网

这篇文章主要介绍了PHP命令行脚本接收传入参数的三种方式,即把PHP脚本像Python脚本、Ruby脚本、Shell脚本一样,用来处理命令行程序,如何获取命令行中的参数,需要的朋友可以参考下

通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。
一、使用$argv or $argc参数接收

<?php
/**
 * 使用 $argc $argv 接受参数
 */
 
echo "接收到{$argc}个参数";
print_r($argv);

执行
[root@DELL113 lee]# /usr/local/php/bin/php test.php
接收到1个参数Array
(
    [0] => test.php
)
[root@DELL113 lee]# /usr/local/php/bin/php test.php a b c d
接收到5个参数Array
(
    [0] => test.php
    [1] => a
    [2] => b
    [3] => c
    [4] => d
)
[root@DELL113 lee]#

二、使用getopt函数
<?php
/**
 * 使用 getopt函数
 */
 
$param_arr = getopt('a:b:');
print_r($param_arr);

执行
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345
Array
(
    [a] => 345
)
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3
Array
(
    [a] => 345
    [b] => 12q3
)
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3 -e 3322ff
Array
(
    [a] => 345
    [b] => 12q3
)

三、提示用户输入
<?php
/**
 * 提示用户输入,类似Python
 */
fwrite(STDOUT,'请输入您的博客名:');
echo '您输入的信息是:'.fgets(STDIN);

执行
[root@DELL113 lee]# /usr/local/php/bin/php test.php 

请输入您的博客名:脚本之家 www.jb51.net
您输入的信息是:脚本之家 www.jb51.net
你也可以这么干,不让用户输入空信息
<?php
/**
 * 提示用户输入,类似Python
 */
 
$fs = true;
 
do{
oif($fs){
fwrite(STDOUT,'请输入您的博客名:');
$fs = false;
}else{
fwrite(STDOUT,'抱歉,博客名不能为空,请重新输入您的博客名:');
}
 
$name = trim(fgets(STDIN));
 
}while(!$name);
 
echo '您输入的信息是:'.$name."\r\n";

执行
[root@DELL113 lee]# /usr/local/php/bin/php test.php 
请输入您的博客名:
抱歉,博客名不能为空,请重新输入您的博客名:脚本之家
您输入的信息是:脚本之家

php实现Linux服务器木马排查及加固功能
php连接oracle数据库及查询数据的方法
php查询mssql出现乱码的解决方法
php+mysql大量用户登录解决方案分析
php从memcache读取数据再批量写入mysql的方法
ThinkPHP中使用ajax接收json数据的方法
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
PHP使用xmllint命令处理xml与html的方法
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
php管理nginx虚拟主机shell脚本实例
php函数与传递参数实例分析
php中substr()函数参数说明及用法实例
php获取url参数方法总结
php防止sql注入之过滤分页参数实例
thinkphp中html:list标签传递多个参数实例
php命令行用法入门实例教程
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
PHP中执行cmd命令的方法
PHP函数eval()介绍和使用示例
PHP中IP地址与整型数字互相转换详解
PHP函数http_build_query使用详解
PHP函数in_array()使用详解
PHP中使用json数据格式定义字面量对象的方法
PHP采用自定义函数实现遍历目录下所有文件的方法
Linux下创建nginx脚本-start、stop、reload…
Linux下php5.4启动脚本
php实现批量压缩图片文件大小的脚本
PHP实现的英文名字全拼随机排号脚本
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
ThinkPHP3.1新特性之Action参数绑定
PHP根据传入参数合并多个JS和CSS文件的简单实现
探寻PHP脚本不报错的原因
在PHP中运行Linux命令并启动SSH服务的例子
PHP APC配置文件2套和参数详解
PHP判断是否有Get参数的方法
yii框架通过控制台命令创建定时任务示例
PHP中批量生成静态html(命令行下运行PHP)
强制PHP命令行脚本单进程运行的方法
php命令行使用方法和命令行参数说明
解决php接收shell返回的结果中文乱码问题
使用PHP接收POST数据,解析json数据
©2014-2024 dbsqp.com