PHP命令行脚本接收传入参数的三种方式
通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。
一、使用$argv or $argc参数接收
![](/assets/blank.gif)
<?php /*** 使用 $argc $argv 接受参数*/ echo "接收到{$argc}个参数"; print_r($argv);
![](/assets/blank.gif)
以下是测试的结果
二、使用getopt函数(推荐使用这种方法)
![](/assets/blank.gif)
<?php /*** 使用 getopt函数*/ $param_arr = getopt('a:b:'); print_r($param_arr);
![](/assets/blank.gif)
三、提示用户输入
![](/assets/blank.gif)
<?php /*** 提示用户输入,类似Python*/ fwrite(STDOUT,'please input:'); echo 'your input is:'.fgets(STDIN);
![](/assets/blank.gif)
用户的输入不能为空
![](/assets/blank.gif)
<?php /*** 提示用户输入,类似Python*/$fs = true;do{if($fs){fwrite(STDOUT,'请输入您的博客名:');$fs = false;}else{fwrite(STDOUT,'抱歉,博客名不能为空,请重新输入您的博客名:');}$name = trim(fgets(STDIN));}while(!$name);echo '您输入的信息是:'.$name."\r\n";
转载于:https://www.cnblogs.com/liliuguang/p/10652855.html
PHP命令行脚本接收传入参数的三种方式相关推荐
- sql2008安装时提示参数不能为空_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 ...
最新文章
- 手动部署OpenStack环境(四:安装控制器必备软件)
- 一文弄懂YOLO目标检测算法
- ultraedit java_UltraEdit配置java环境
- php双分支语句【三个数排序】
- 用 subsetting 限制连接池中的连接数量
- 列举网络芳邻的网络资源
- 【OS学习笔记】十一 实模式:中断-软中断和硬中断基本原理
- mysql调用时附加依赖项_c# – 无法加载“MySql.Data”或其中一个依赖项.
- Sea Battle<海战>(思路题)
- 浅谈算法和数据结构: 三 合并排序
- linux 数位板内核,在Linux操作系统下使用高漫、绘王、Wacom等数位板的方法
- 中国微流体系统市场趋势报告、技术动态创新及市场预测
- CentOS7.9调整/Home分区大小
- 往事如烟随风,切如梦初醒
- PowerDesigner16配置显示注释comment配置方法
- 我在CSDN的第一篇博客——js实现简单计算器
- 从输入 URL 到浏览器接收的过程中发生了什么事情
- MIME Types MIME 类型
- 荣耀手表es鸿蒙,荣耀手表ES评测:方形大屏+轻盈机身,599元腕上健康全能管家...
- SQLServer--TSQL编程语法
热门文章
- ssh密钥登录 改密码登录_如何使用密钥对通过SSH登录而不使用密码
- struts2路径配置_Struts 2结果路径配置示例
- C++ 判断字符串是否全是数字
- MySQL索引的使用知识有哪些?
- Java对Internet为什么这么重要?
- 码农如何写好一封邮件/1
- https://docs.python.org/3/
- 5 Java NIO Scatter 与Gather-翻译
- linux 安装apache、tomcat问题汇总
- iOS6和iOS7适应代码(6) —— NSLocalizedString