php執行http請求時,可使用GET或POST請求,但在shell命令行下沒法使用。
如下爲命令行下的三種傳值方式php
php代碼數組
<?php var_dump($argc); var_dump($argv);
shell命令函數
//sh命令 php index.php a b c //結果 Array( [0] => index.php [1] => a [2] => b [3] => c )
getopt(): 從命令行參數列表中獲取選項.net
// 使用格式 array getopt ( string $options [, array $longopts [, int &$optind ]] ) //參數 1.options : 該字符串中的每一個字符會被當作選項字符,匹配傳入腳本的選項以單個連字符(-)開頭。 好比,一個選項字符串 "x" 識別了一個選項 -x。 只容許 a-z、A-Z 和 0-9。 1.1單獨的字符(不接受值) 1.2後面跟隨冒號的字符(此選項須要值) 1.3後面跟隨兩個冒號的字符(此選項的值可選) 2.longopts:選項數組。此數組中的每一個元素會被做爲選項字符串,匹配了以兩個連字符(--)傳入到腳本的選項。 例如,長選項元素 "opt" 識別了一個選項 --opt。 3.optind:若是OPTIND參數存在,那麼指數參數解析中止將寫入該變量。 //注意:選項的值不接受空格(" ")做爲分隔符。
php代碼命令行
<?php $params = getopt("a:b:"); var_dump($params);
shell命令code
//sh命令 php index.php -a 1 -b 2 //結果 array( [a] => 1 [b] => 2 )
<?php //提示用戶輸入,相似Python fwrite(STDOUT,'請輸入您的博客名:'); echo '您輸入的信息是:'.fgets(STDIN);
php代碼字符串
<?php // 提示用戶輸入,相似Python $fs = true; do{ if($fs){ fwrite(STDOUT,'請輸入您的博客名:'); $fs = false; }else{ fwrite(STDOUT,'抱歉,博客名不能爲空,請從新輸入您的博客名:'); } $name = trim(fgets(STDIN)); }while(!$name); echo '您輸入的信息是:'.$name."\r\n";
shell命令行get
[root@DELL113 lee]# /usr/local/php/bin/php test.php 請輸入您的名稱: test 您輸入的信息是: test