For Schleife mit einer Taste unterbrechen

Hallo ich habe mal das vollgende Problemm ich muss eine for Schleife mit einer belibigen taste unterbrechen können. Laso z.B wenn ich das A drücke. wie geht das bei php?

_________________________________________________________________

<?php $fp = fopen("C:/Test_txt.txt","r");
//exec("mode com1: BAUD=9600 PARITY=E data=7 stop=1 xon=off"); //$fp = fopen ("COM1:", "r"); //Das COM Port zum lesen Aufmachen if (!$fp) { echo "Kann aus der Datei nicht lesen!"; } else { // echo "COM Port geöfnet "; // for(;:wink: // { // Testendruck abfragen $beenden = if ($beenden) break; $buffer = ""; while(!feof($fp)) { $buffer .= fgetc($fp); } $len = strlen($buffer); if ($len \> 0) echo $buffer; // } fclose($fp); // echo "Com Port geschlossen."; } ?\> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Danke schon mal für die Antwort!

ich wage mal zu behaupten, dass das nicht geht…

Ein Tastendruck bedeutet, dass Du im Browser was machst - PHP arbeitet aber auf dem Server - Du drückst auf dem Client.
Du kannst dem Server nur neue Kommandos geben. u.U. bekommst Du es sogar hin damit eine laufende verarbeitung zu killen, aber das geht auch wieder nur mit exec oder ähnlichen Anweisungen.

der Tastendruck müsste mit JavaScript eine neue Seite aufrufen, die das Script abbricht…
anders gehts ned…

Hallo ich habe mal das vollgende Problemm ich muss eine for
Schleife mit einer belibigen taste unterbrechen können. Laso
z.B wenn ich das A drücke. wie geht das bei php?

muesste mit ncurses_getch gehen.

muesste mit ncurses_getch gehen.

danke aber wie soll ich das in den script einbauen? so?


for(;:wink:
{
// Testendruck abfragen
$beenden = ncurses_getch;
if ($beenden)
break;
$buffer = „“;
while(!feof($fp))
{
$buffer .= fgetc($fp);
}
$len = strlen($buffer);
if ($len > 0)
echo $buffer;
}

muesste mit ncurses_getch gehen.

danke aber wie soll ich das in den script einbauen? so?

das war der punkt mit dem manual: du musst schauen, was die funktion (das ist naemlich eine, und sollte deshalb als ncurses_getch(); notiert werden) macht und ob du sie ueberhaupt nutzen kannst. es steht naemlich in den sternen, ob dein php mit der notwendigen bibliothek kompiliert ist. ausserdem mussst du pruefen, ob du das ncurses interface, wenn du es in php verfuegbar hast ueberhaupt nutzen kannst wg. den einschraenkungen, die MunichFreak geschrieben hat. pruefe das alles bevor du code schreibst.

ausserdem solltest du bei der formulierung „muesste gehen“ per se hellhoerig werden. ich habe sie genutzt, weil ich mit der bibliothek keine erfahrung habe.

im uebrigen vermute ich, dass der entsprechende aufruf in die while-schleife muss, weil das die innerste ist, und ich nicht weiss, wann dein scanner ein eof schickt (hast du das ueberhaupt hinbekommen? in deinem letzten snippet hattest du ja nur eine textdatei geoeffnet)

und zu guter letzt noch der hinweis auf die pre-tags, die sehr hilfreich sein koennen, wenn man einrueckungen nutzt.

> -----------------------------------------------------------  
> for(;:wink:  
> {  
> // Testendruck abfragen  
> $beenden = ncurses\_getch;  
> if ($beenden)  
> break;  
> $buffer = "";  
> while(!feof($fp))  
> {  
> $buffer .= fgetc($fp);  
> }  
> $len = strlen($buffer);  
> if ($len \> 0)  
> echo $buffer;  
> }