PHP Klavye girişi

3 Cevap php

Ben klavye girişinden PHP ile malzeme kontrol etmeye çalışıyorum. Şu anda tuş vuruşlarını tespit ediyorum yolu ile:

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

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

Sorun vuruşlarını 'canlı' okuyor olmasıdır. Bu yöntemi kullanarak mümkün olup olmadığını bilmiyorum, ve ben bu ya bunu yapmak için en etkili yol olmadığını hayal ediyorum. Bu bunu yapmak için iyi bir yol olup olmadığını Benim soru 1), o zaman nasıl bu bunu yapmanın kötü bir yol ise bu sayfada yazarken, bu tuş vuruşlarını yakalama ve 2), böylece çalışmak için alabilirsiniz edilir , nasıl ben bunu (belki ajax veya bir şey kullanarak) daha iyi uygulayabilirsiniz?

edit: Ben bir web sayfası değil, komut satırı olarak PHP kullanıyorum.

3 Cevap

Ben (değil komut satırından) bir web betik dili olarak PHP kullanıyorsanız varsayarak yaşıyorum ...

Gördüğüm kadarıyla, anahtar girdileri okumak için istemci tarafında JavaScript kullanmak isteyeceksiniz. Sunucu istemciye sayfa sunar kez, hiçbir PHP etkileşim var. Yani istemci anahtar girdileri okumak ve sunucuya geri arama yapmak için AJAX kullanarak gitmek için yoludur.

Biraz daha Javascript hakkında bilgi ve basılmasını tespit here ve AJAX here nasıl kullanılacağı hakkında biraz bilgi var.

JQuery için düzgün bir seçenek gibi bir şey kullanmak için delayedObserver

Eğer CLI uygulaması (bir web uygulaması aksine) yazıyorsanız, size tek bir tuşa almak için ncurses' getch() işlevini kullanabilirsiniz. İyi şanslar!

Eğer CLI uygulama yazma değilseniz, ben Andrew cevabı aşağıdaki öneririz.