- <?php
- //第一种方法:
- $line = getrandline1('test.txt');
- function getrandline1($filename)
- {
- $linenum = 0;
- $fh = fopen($filename, 'r');
- while(!feof($fh))
- {
- if($rowcontents = fgets($fh))
- {
- $linenum++;
- $contens[] = $rowcontents;
- }
- }
- $randline = mt_rand(0, $linenum - 1);
- $line = $contens[$randline];
- fclose($fh);
- return $line;
- }
- //第二种方法:
- $line = getrandline2('test.txt');
- function getrandline2($filename)
- {
- $contents = file('test.txt');
- $linenum = count($contents);
- $randline = mt_rand(0, $linenum - 1);
- $line = $contents[$randline];
- return $line;
- }
- //第三种方法:
- $line = getrandline3('test.txt');
- function getrandline3($filename)
- {
- $contents = file('test.txt');
- shuffle($contents);
- return $contents[0];
- }
- //第四种方法:
- $line = getrandline4('test.txt');
- function getrandline4($filename)
- {
- $linenum = 0;
- $fh = fopen($filename, 'r');
- while(!feof($fh))
- {
- if($linecontents = fgets($fh))
- {
- $linenum++;
- $randint = (mt_rand(1, 1000000 * $linenum) - 1)/1000000);
- if($randint < 1)
- {
- $line = $linecontents;
- }
- }
- }
- fclose($fh);
- return $line;
- }
- ?>
新闻热点
疑难解答