PHP命令行腳本接收傳入?yún)?shù)的三種方式
更新時(shí)間:2014年08月20日 09:31:18 作者:瓊臺
這篇文章主要介紹了PHP命令行腳本接收傳入?yún)?shù)的三種方式,即把PHP腳本像Python腳本、Ruby腳本、Shell腳本一樣,用來處理命令行程序,如何獲取命令行中的參數(shù),需要的朋友可以參考下
通常PHP都做http方式請求了,可以使用GET or POST方式接收參數(shù),有些時(shí)候需要在shell命令下把PHP當(dāng)作腳本執(zhí)行,比如定時(shí)任務(wù)。這就涉及到在shell命令下如何給php傳參的問題,通常有三種方式傳參。
一、使用$argv or $argc參數(shù)接收
復(fù)制代碼 代碼如下:
<?php
/**
* 使用 $argc $argv 接受參數(shù)
*/
echo "接收到{$argc}個(gè)參數(shù)";
print_r($argv);
執(zhí)行
復(fù)制代碼 代碼如下:
[root@DELL113 lee]# /usr/local/php/bin/php test.php
接收到1個(gè)參數(shù)Array
(
[0] => test.php
)
[root@DELL113 lee]# /usr/local/php/bin/php test.php a b c d
接收到5個(gè)參數(shù)Array
(
[0] => test.php
[1] => a
[2] => b
[3] => c
[4] => d
)
[root@DELL113 lee]#
二、使用getopt函數(shù)
復(fù)制代碼 代碼如下:
<?php
/**
* 使用 getopt函數(shù)
*/
$param_arr = getopt('a:b:');
print_r($param_arr);
執(zhí)行
復(fù)制代碼 代碼如下:
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345
Array
(
[a] => 345
)
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3
Array
(
[a] => 345
[b] => 12q3
)
[root@DELL113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3 -e 3322ff
Array
(
[a] => 345
[b] => 12q3
)
三、提示用戶輸入
復(fù)制代碼 代碼如下:
<?php
/**
* 提示用戶輸入,類似Python
*/
fwrite(STDOUT,'請輸入您的博客名:');
echo '您輸入的信息是:'.fgets(STDIN);
執(zhí)行
復(fù)制代碼 代碼如下:
[root@DELL113 lee]# /usr/local/php/bin/php test.php
請輸入您的博客名:腳本之家 chabaoo.cn
您輸入的信息是:腳本之家 chabaoo.cn
你也可以這么干,不讓用戶輸入空信息
復(fù)制代碼 代碼如下:
<?php
/**
* 提示用戶輸入,類似Python
*/
$fs = true;
do{
oif($fs){
fwrite(STDOUT,'請輸入您的博客名:');
$fs = false;
}else{
fwrite(STDOUT,'抱歉,博客名不能為空,請重新輸入您的博客名:');
}
$name = trim(fgets(STDIN));
}while(!$name);
echo '您輸入的信息是:'.$name."\r\n";
執(zhí)行
復(fù)制代碼 代碼如下:
[root@DELL113 lee]# /usr/local/php/bin/php test.php
請輸入您的博客名:
抱歉,博客名不能為空,請重新輸入您的博客名:腳本之家
您輸入的信息是:腳本之家
相關(guān)文章
PHP中通過trigger_error觸發(fā)PHP錯(cuò)誤示例
這篇文章主要介紹了PHP中通過trigger_error觸發(fā)PHP錯(cuò)誤示例,本文介紹了錯(cuò)誤抑制符@以及通過 trigger_error 觸發(fā) PHP 錯(cuò)誤示例,需要的朋友可以參考下2015-06-06使用新浪微博API的OAuth認(rèn)證發(fā)布微博實(shí)例
這篇文章主要介紹了使用新浪微博API的OAuth認(rèn)證發(fā)布微博實(shí)例的相關(guān)資料,需要的朋友可以參考下2015-03-03yii2中添加驗(yàn)證碼的實(shí)現(xiàn)方法
這篇文章主要介紹了yii2中添加驗(yàn)證碼的實(shí)現(xiàn)方法,實(shí)例分析了Yii2中實(shí)現(xiàn)添加驗(yàn)證碼的具體步驟與相關(guān)功能代碼,需要的朋友可以參考下2016-01-01laravel實(shí)現(xiàn)上傳圖片,并且制作縮略圖,按照日期存放的代碼
今天小編就為大家分享一篇laravel實(shí)現(xiàn)上傳圖片,并且制作縮略圖,按照日期存放的代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10