首页 > 代码库 > 请写出并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数

请写出并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数

方法一:

<?php
if ($argc > 1){
    print_r($argv);
}
?>
php.exe test.php welcome Ricky Feng

方法二:

还有一种这样的,提示用户输入,然后获取输入的参数。有点像C语言

<?php
    fwrite(STDOUT, "Enter your name: ");

    $name = trim(fgets(STDIN));
    fwrite(STDOUT, "Hello, $name!");
?>

测试结果:

$>php io.php
Enter your name: test name
Hello, test name!

第三种:

<?php

$options = getopt("f:");

var_dump($options);

?>

php aaa.php -f "123456"

 array(1) {
  ["f"]=>
  string(5) "123456"
}

___

window下,假设php安装目录为c:\program files\php5\,那么使用命令窗口进入到该路径下,敲入php hello.php回车,则会执行当前路径下的hello.php文件,

如果要指向其他路径下php文件,可以在php 路径/hello.php ,这种形式称为CLI模式,我们平时通过浏览器看到的那种成为CGI模式,至于传递参数,php文件在cli模式下,直接通过在文件名称后面接参数,多个参数中间用空格隔开,在php文件里面是通过两个变量来获取参数的,一个是$argv,一个是$argc,前者是传递参数的数组,默认第一个为php文件的名称;后者为$argv的数组个数。

linux下,一般程序安装都会安装在/usr/bin/php下面,可以通过man php查看一下,如果有信息说明可以使用,使用方法类似于window下。如果前面这步成立,那么你可以直接 php php文件 来运行php文件,如果man php没有信息,则说明当前php执行文件没有在环境路径里面,可以修改环境路径包含php路径,也可以类似于window进入php路径,在执行 php php文件。其他类似于window下。

 

 

 

 

https://www.oschina.net/question/106025_38199?sort=time

请写出并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数