Re: randomly random

From: Date: Tue, 05 Apr 2011 15:24:42 +0000
Subject: Re: randomly random
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-312275@lists.php.net to get a copy of this message
On Tuesday, 5 April 2011 at 16:14, Jim Lucas wrote: On 4/5/2011 7:07 AM, Kirk Bailey wrote: > > OK gang, to spew a single line from a file of fortune cookies, I want to read it > > and echo one line. While I found a 4 line code which gets it done, I thought > > there was a preexisting command to do exactly that. Any feedback on this? > > No, but it can be done in one line: > > <?php > > echo array_rand(@file(@$filename), 1); > > > # if you wanted to do a couple checks, you could do the following > > if ( is_file(@$filename) && filesize($filename) > 0 ) > echo array_rand(file($filename), 1); > > ?> This method will eat memory unless you have a very small file. Personally I would use filesize to get the length of the file, fopen it, fseek to a random position, then track back to a newline and use fgets to get the line. Then fclose, obviously. Simples. -Stuart -- Stuart Dallas 3ft9 Ltd http://3ft9.com/

« previous php.general (#312275) next »