php 文件中随机取出一条数据四种方法

作者:袖梨 2022-06-24
 代码如下 复制代码
//第一种方法:
$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;
}
?>

相关文章

精彩推荐