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

一、使用$argv or $argc参数接收

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

以下是测试的结果

二、使用getopt函数(推荐使用这种方法)

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

三、提示用户输入

<?php
/*** 提示用户输入,类似Python*/
fwrite(STDOUT,'please input:');
echo 'your input is:'.fgets(STDIN);

用户的输入不能为空

<?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命令行脚本接收传入参数的三种方式相关推荐

  1. sql2008安装时提示参数不能为空_PHP命令行脚本接收传入参数的三种方式

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

  2. 命令行运行Python脚本时传入参数的三种方式

    三种常用的方式 如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. python script.py 0,1,2 10 python script ...

  3. mybatis中传入参数的几种方式

    第一种: Dao层的方法 Public User selectUser(String name,String password); 对应的Mapper.xm <select id="s ...

  4. Mybatis传递参数的三种方式

    第一种: Dao层使用@Param注解的方法 VersionBox getVersionByVersionNumAndVersionType(@Param("versionNum" ...

  5. php命令行传参数,php命令行脚本接收传参数的介绍

    下面小编就为大家带来一篇php获取'/'传参的值简单方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 通过输出$GLOBALS可以看到'/'后的参数都存在于$_SER ...

  6. springMVC接收请求参数的几种方式

    1.  用注解@RequestParam绑定请求参数 用注解@RequestParam绑定请求参数a到变量a,当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,例如: ...

  7. mybatis 传递参数的三种方式

    mybatis 框架的主要工作是数据层, 侧重于与数据库打交道的sql语句的编写,对sql也要求比较熟练. mybatis 传递参数的方式主要有三种: 1. 多个参数的传递方式    形式如:    ...

  8. react --- 隔代传递参数的三种方式

    组件跨层级通信 - Context 上下文提供一种不需要每层设置props就能跨多级组件传递数据的方式 方式1 Provider提供值 Consumer来消费传递的值 import React fro ...

  9. struts2获取请求参数的三种方式及传递给JSP参数的方式

    接上一篇文章 package test;import com.opensymphony.xwork2.ActionSupport; import javax.servlet.http.*; impor ...

最新文章

  1. 手动部署OpenStack环境(四:安装控制器必备软件)
  2. 一文弄懂YOLO目标检测算法
  3. ultraedit java_UltraEdit配置java环境
  4. php双分支语句【三个数排序】
  5. 用 subsetting 限制连接池中的连接数量
  6. 列举网络芳邻的网络资源
  7. 【OS学习笔记】十一 实模式:中断-软中断和硬中断基本原理
  8. mysql调用时附加依赖项_c# – 无法加载“MySql.Data”或其中一个依赖项.
  9. Sea Battle<海战>(思路题)
  10. 浅谈算法和数据结构: 三 合并排序
  11. linux 数位板内核,在Linux操作系统下使用高漫、绘王、Wacom等数位板的方法
  12. 中国微流体系统市场趋势报告、技术动态创新及市场预测
  13. CentOS7.9调整/Home分区大小
  14. 往事如烟随风,切如梦初醒
  15. PowerDesigner16配置显示注释comment配置方法
  16. 我在CSDN的第一篇博客——js实现简单计算器
  17. 从输入 URL 到浏览器接收的过程中发生了什么事情
  18. MIME Types MIME 类型
  19. 荣耀手表es鸿蒙,荣耀手表ES评测:方形大屏+轻盈机身,599元腕上健康全能管家...
  20. SQLServer--TSQL编程语法

热门文章

  1. ssh密钥登录 改密码登录_如何使用密钥对通过SSH登录而不使用密码
  2. struts2路径配置_Struts 2结果路径配置示例
  3. C++ 判断字符串是否全是数字
  4. MySQL索引的使用知识有哪些?
  5. Java对Internet为什么这么重要?
  6. 码农如何写好一封邮件/1
  7. https://docs.python.org/3/
  8. 5 Java NIO Scatter 与Gather-翻译
  9. linux 安装apache、tomcat问题汇总
  10. iOS6和iOS7适应代码(6) —— NSLocalizedString