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


Posted in PHP onAugust 20, 2014

通常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

请输入您的博客名:三水点靠木 3water.com
您输入的信息是:三水点靠木 3water.com
你也可以这么干,不让用户输入空信息
<?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 相关文章推荐
PHP数字格式化
Dec 06 PHP
php 生成WML页面方法详解
Aug 09 PHP
PHP array 的加法操作代码
Jul 24 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
PHP中去掉字符串首尾空格的方法
May 19 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
Dec 28 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
php常用日期时间函数实例小结
Jul 04 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 #PHP
PHP函数http_build_query使用详解
Aug 20 #PHP
PHP函数in_array()使用详解
Aug 20 #PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 #PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 #PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 #PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 #PHP
You might like
PHP中的访问修饰符简单比较
2019/02/02 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
详解JS数值Number类型
2018/02/07 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
python实现一个简单的ping工具方法
2019/01/31 Python
python读写csv文件实例代码
2019/07/05 Python
python实现图片压缩代码实例
2019/08/12 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
奶茶专卖店创业计划书
2014/01/18 职场文书
探亲邀请信范文
2014/01/30 职场文书
任命书格式
2014/06/05 职场文书
党支部特色活动方案
2014/08/20 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
放假通知
2015/04/14 职场文书
学雷锋活动简报
2015/07/20 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
简单介绍Python的第三方库yaml
2021/06/18 Python
Python正则表达式中flags参数的实例详解
2022/04/01 Python