使えないかなぁ?
コマンドラインでインタラクティブに質問して入力してもらうようにする。
<?php class Interactive { var $stdin; function start() { $this->stdin = @fopen('php://stdin', 'r'); return is_resource($this->stdin); } function getInput($dispMesseage, $range = array()) { if (!is_resource($this->stdin)) { return ''; } $ok = false; $range = (array)$range; while (!$ok) { print "$dispMesseage: "; $result = trim(fgets($this->stdin)); if (is_array($range) && 0 < count($range)) { $ok = in_array($result, $range); } else { $ok = true; } } return $result; } function end() { if (is_resource($this->stdin)) { return @fclose($this->stdin); } return true; } } ?>
で、使用するには、
<?php $obj = new Interactive; $obj->start(); $inputs = array(); $inputs[] = $obj->getInput('名前を入力してください'); $inputs[] = $obj->getInput('アドレスを入力してください'); $inputs[] = $obj->getInput('性別を入力してください。(男=0,女=1)', array(0,1)); $obj->end(); var_dump($inputs); ?>