php shell 交互模式
/**
* receiveShellInput
* @desc 接收命令行参数
* @author chenxiuchao
* @time 2017年9月27日
* @param string $message
* @param string $resMessage
* @return string
*/
public static function receiveShellInput($message='请输入参数:',$enum=[]){
$enum = array_map("strtoupper",$enum);
if(!empty($enum)){
$enumTemp = (array_keys($enum) !== range(0, count($enum) - 1))?array_map("self::jointStr",array_flip($enum),$enum):$enum;
$str = implode('|',$enumTemp);
$message .="[$str]:";
}
do{
fwrite(STDOUT,$message);
$input = trim(fgets(STDIN));
if((!empty($enum)) && (!in_array(strtoupper($input),$enum))){
$input = '';
}
}while(!$input);
echo('您的输入是:'.$input.PHP_EOL);
return $input;
}
/**
* jointStr
* @desc 拼接字符串
* @author 陈修超
* @param $v
* @param $vv
* @return string
*/
public static function jointStr($v,$vv){
return "$v:$vv";
}
网友评论