PHP中的键盘输入

时间:2009-06-02 20:30:39

标签: php keyboard-events

我试图用键盘输入控制PHP的东西。我目前检测击键的方式是:

 function read() {
    $fp1=fopen("/dev/stdin", "r");
    $input=fgets($fp1, 255);
    fclose($fp1);

    return $input;
}
print("What is your first name? ");
    $first_name = read();

问题在于它没有正常读取击键。我不知道使用这种方法是否可行,我想这也不是最有效的方法。我的问题是1)如果这是一个很好的方法,那么我怎样才能使它工作,这样当你在页面上键入时,它将捕获击键,2)如果这是一个不好的方法,我怎样才能更好地实现它(可能使用ajax或其他东西)?

编辑:我使用PHP作为网页,而不是命令行。

3 个答案:

答案 0 :(得分:5)

我假设你使用PHP作为网络脚本语言(而不是命令行)......

从我所看到的,您将希望在客户端使用Javascript来读取关键输入。一旦服务器将页面传递给客户端,就没有PHP交互。因此,使用AJAX读取客户端密钥输入并回调服务器是可行的方法。

有关Javascript和检测按键here的更多信息以及有关如何使用AJAX here的一些信息。

jQuery的一个简洁选项是使用delayedObserver

之类的东西

答案 1 :(得分:4)

如果您正在编写CLI应用程序(而不是Web应用程序),则可以使用ncurses' getch()函数获取单个键击。祝你好运!

如果您没有编写CLI应用程序,我建议您按照Andrew的回答。

答案 2 :(得分:-3)