note 28275 deleted from function.readline by hholzgra

From: Date: Thu, 02 Aug 2012 12:38:30 +0000
Subject: note 28275 deleted from function.readline by hholzgra
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-189686@lists.php.net to get a copy of this message
Note Submitter: Glyn AT minimanga DOT com ---- This is mentionned elsewhere on the site, but for those of you that got here by trial and error searching of function names, here's an important fact: this function is not available to windows users, but thankfully we can accomplish much the same thing. function readline () { $fp = fopen("php://stdin", "r"); $in = fgets($fp, 4094); // Maximum windows buffer size fclose ($fp); return $in; } $line = readline(); I appropriated this function from elsewhere on the site, but I feel it should be here to save the time of others like me. ;) Here's a function for multi-line reading that I hacked up myself. Please forgive any obvious mistakes I make, as I am still a beginner. function read ($stopchar) { $fp = fopen("php://stdin", "r"); $in = fread($fp, 1); // Start the loop $output = ''; while ($in != $stopchar) { $output = $output.$in; $in = fread($fp, 1); } fclose ($fp); return $output; } $lines = read("."); This is a multi-line read function, a carriage return won't end this, as with fgets, but the $stopchar param. will. In the above example, you have to type a period followed by a carriage return to break out of the loop and get your input. The $stopchar is not included in the final output, but the last carriage return is. Both of these are simple to change to your needs.

« previous php.notes (#189686) next »