php PHP命令行脚本接收传入参数的三种方式
通常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";
php PHP命令行脚本接收传入参数的三种方式相关推荐
- sql2008安装时提示参数不能为空_PHP命令行脚本接收传入参数的三种方式
通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务.这就涉及到在shell命令下如何给php传参的问题,通常 ...
- PHP命令行脚本接收传入参数的三种方式
通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务.这就涉及到在shell命令下如何给php传参的问题,通常 ...
- 命令行运行Python脚本时传入参数的三种方式
三种常用的方式 如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. python script.py 0,1,2 10 python script ...
- mybatis中传入参数的几种方式
第一种: Dao层的方法 Public User selectUser(String name,String password); 对应的Mapper.xm <select id="s ...
- Mybatis传递参数的三种方式
第一种: Dao层使用@Param注解的方法 VersionBox getVersionByVersionNumAndVersionType(@Param("versionNum" ...
- php命令行传参数,php命令行脚本接收传参数的介绍
下面小编就为大家带来一篇php获取'/'传参的值简单方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 通过输出$GLOBALS可以看到'/'后的参数都存在于$_SER ...
- springMVC接收请求参数的几种方式
1. 用注解@RequestParam绑定请求参数 用注解@RequestParam绑定请求参数a到变量a,当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,例如: ...
- mybatis 传递参数的三种方式
mybatis 框架的主要工作是数据层, 侧重于与数据库打交道的sql语句的编写,对sql也要求比较熟练. mybatis 传递参数的方式主要有三种: 1. 多个参数的传递方式 形式如: ...
- react --- 隔代传递参数的三种方式
组件跨层级通信 - Context 上下文提供一种不需要每层设置props就能跨多级组件传递数据的方式 方式1 Provider提供值 Consumer来消费传递的值 import React fro ...
- struts2获取请求参数的三种方式及传递给JSP参数的方式
接上一篇文章 package test;import com.opensymphony.xwork2.ActionSupport; import javax.servlet.http.*; impor ...
最新文章
- Linux驱动无硬件设备,Linux设备驱动与硬件通信
- Microsoft SharePoint Server 2016 部署文档(2)
- OpenCV 3.1.0中的Mat对象使用
- mysql router安装教程_MySQL Router 安装与配置
- WebService中使用自定义类的解决方法(5种)
- 基于PSO算法的带时间窗的车辆路径问题的仿真
- 使用gdb进行程序调试1-在GDB中运行程序
- powershell 停止正在运行的用户应用
- 微软征询“Xbox支付方式”,选项包括比特币支付
- BIOS中的UEFI和Legacy启动模式
- Adobe Flash 离线安装包下载
- css鼠标移上去向上移动,css3鼠标移动图片上移效果
- BXP无盘网络方案及设备选用(转)
- 华三OSPF多区域配置实例
- 极坐标梯度公式_一般坐标系下的梯度散度旋度及拉普拉斯形式
- SDN南向接口和北向接口
- html完整语句,html语句
- 奥马电器赵国栋转让股份兜底钱包金融展期项目,奥马获国资输血
- csh shell_06145.16.1同一OS用户并行Shell脚本中kinit不同的Principal串掉问题分析
- 【java笔记-006】【uni-app】当前运行的基座不包含原生插件[xxx],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座