php在CLI模式下傳入值的幾種方法
php本身是一種腳本語言,在命令行環境中可以高效的進行一些操作,但是在CLI(命令行界面 Command Line Interface)如何傳入值呢?
下面介紹本人知道的3種方法。
一 . getopt (注意:PHP 4 >= 4.3.0, PHP 5)
我們建立如下文件:test.php
$opt= getopt('m:n:'); // $value_m= $opt['m']; // $value_n= $opt['n']; print_r($opt);
然後運行命令
php test.php -mvaluem -n value n
結果如下:
詳情請看手冊 :http://www.php.net/manual/zh/function.getopt.php
二. $argv
我們修改一下剛才的test.php文件,內容改成如下:
if($argc> 1){ var_dump($argv); }
運行
php test.php 1 2 c
結果如下:
詳情參見手冊:http://www.php.net/manual/zh/reserved.variables.argv.php
三. linux的STDIN
在linux中
stdout標准輸出,默認是終端 stdin 標准輸入,默認是鍵盤 stderr 標准錯誤輸出,默認是終端
所以,我們修改剛才的test.php文件
fwrite(STDOUT, "Enter your name: "); $name = trim(fgets(STDIN)); fwrite(STDOUT, "Hello, $name!");
我們運行
php test.php
此時屏幕輸出:Enter your name:
我們在後面輸入:tiyee然後回車
此時屏幕會出現Hhellow,tiyee
*