Neden fgets (STDIN, 1024) artık çalışmıyor?

0 Cevap php

Question 1

Ben bir oyun sunucu için benim PHP ayrıştırıcı dosya için bu hattı kullanmak için kullanılır, ama artık çalışmıyor. Ben fopen("php://stdin") bir şey olduğunu biliyorum ama artık 3 satır kod yerine sadece tek bir neden PHP bu yapardı değil mi?

Question 2

Ayrıca, benim komut dosyası komutları çözümleyici çıkışlar, bunu nasıl durdurabilirim okumak değil neden bu çıktıyı elde tutmak yöntemini kullandığınızda?

X-Powered-By: PHP/5.2.12
Content-type: text/html

I tried setting Content-Type to text/plain and it didn't do anything...
Here's the base code:

#!/usr/bin/php
<?php

while (1):
    $line = rtrim(fgets(STDIN, 1024));
    $line = explode(" ", $line);
    switch ($line[0]):
        // NEW_ROUND <date> <time>
        // PLAYER_ENTERED <nice_name> <ip> <real_name>
        case "PLAYER_ENTERED":
            print "PLAYER_MESSAGE {$line[1]} WELCOME TO TRONNERS!\n";
            break;
        // PLAYER_LEFT <nice_name> <ip>
        // RACE_DONE
        case "RACE_DONE":
            print "CONSOLE_MESSAGE RACING TIMEKEEPER COMING SOON!\n";
            break;
        // ROUND_COMMENCING <round> <max_rounds>
        case "ROUND_COMMENCING":
            print "CENTER_MESSAGE What's the name of this map?\n";
            break;
    endswitch;
endwhile;

?>

Ben tişört üzerinden dosya hatları PHP'nin girmeden bir dosyaya nakledilen ve daha sonra ayrıştırılır gelen çıkış başka komutlar gönderiliyor tutmak için bir kuyruk kullanıyorum.

0 Cevap