亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)文章

最新評論