PHP命令行腳本接收傳入參數的三種方式

 

 

一般PHP都作http方式請求了,能夠使用GET or POST方式接收參數,有些時候須要在shell命令下把PHP看成腳本執行,好比定時任務。這就涉及到在shell命令下如何給php傳參的問題,一般有三種方式傳參。php

 

1、使用$argv or $argc參數接收

<?php
/**
 * 使用 $argc $argv 接受參數
 */
echo "接收到{$argc}個參數";
print_r($argv);

如下是測試的結果shell

v2-39b6485ced28d98ea8166c88eaaa4b46_720w.jpg

 

2、使用getopt函數(推薦使用這種方法)

<?php
/**
 * 使用 getopt函數
 */
$param_arr = getopt('a:b:');
print_r($param_arr);

v2-231570992185510b21cee6b86d281e42_720w.jpg

 

3、提示用戶輸入

<?php
/**
 * 提示用戶輸入,相似Python
 */
fwrite(STDOUT,'please input:');
echo 'your input is:'.fgets(STDIN);

用戶的輸入不能爲空函數

<?php
/**
 * 提示用戶輸入,相似Python
 */

$fs = true;

do{
    if($fs){
        fwrite(STDOUT,'請輸入您的博客名:');
        $fs = false;
    }else{
        fwrite(STDOUT,'抱歉,博客名不能爲空,請從新輸入您的博客名:');
    }

$name = trim(fgets(STDIN));

}while(!$name);

echo '您輸入的信息是:'.$name."\r\n";

 

相關文章
相關標籤/搜索