国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > php 文件中随机取出一条数据

php 文件中随机取出一条数据

来源:程序员人生   发布时间:2014-03-01 09:13:33 阅读次数:3642次
  1. <?php 
  2. //第一种方法: 
  3. $line = getrandline1('test.txt'); 
  4. function getrandline1($filename
  5.  $linenum = 0; 
  6.  $fh = fopen($filename'r'); 
  7.  while(!feof($fh)) 
  8.  { 
  9.   if($rowcontents = fgets($fh)) 
  10.   { 
  11.    $linenum++; 
  12.    $contens[] = $rowcontents
  13.   } 
  14.  } 
  15.  $randline = mt_rand(0, $linenum - 1); 
  16.  $line = $contens[$randline]; 
  17.  fclose($fh); 
  18.  return $line
  19.   
  20. //第二种方法: 
  21. $line = getrandline2('test.txt'); 
  22. function getrandline2($filename
  23.  $contents = file('test.txt'); 
  24.  $linenum = count($contents); 
  25.  $randline = mt_rand(0, $linenum - 1); 
  26.  $line = $contents[$randline]; 
  27.  return $line
  28.   
  29. //第三种方法: 
  30. $line = getrandline3('test.txt'); 
  31. function getrandline3($filename
  32.  $contents = file('test.txt'); 
  33.  shuffle($contents); 
  34.  return $contents[0]; 
  35.   
  36. //第四种方法: 
  37. $line = getrandline4('test.txt'); 
  38. function getrandline4($filename
  39.  $linenum = 0; 
  40.  $fh = fopen($filename'r'); 
  41.  while(!feof($fh)) 
  42.  { 
  43.   if($linecontents = fgets($fh)) 
  44.   { 
  45.    $linenum++; 
  46.                         $randint = (mt_rand(1, 1000000 * $linenum) - 1)/1000000); 
  47.    if($randint < 1) 
  48.    { 
  49.     $line = $linecontents
  50.    } 
  51.   } 
  52.  } 
  53.  fclose($fh); 
  54.  return $line
  55. ?> 
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生