php讀行
① php 如何讀取指定行數據
function get_file_line( $file_name, $line ){
$n = 0;
$handle = fopen($file_name,'r');
if ($handle) {
while (!feof($handle)) {
++$n;
$out = fgets($handle, 4096);
if($line==$n) break;
}
fclose($handle);
}
if( $line==$n) return $out;
return false;
}
暫時沒想到什麼好辦法或找到對應函數,拋磚引玉,希望見到更好的解決方案
② PHP里如何讀取文件的指定一行
<?php
$c=getLine('./a.txt',10);//讀取a.txt文件第10行內容
echo$c;
/**
*獲取指定行內容
*
*@param$file文件路徑
*@param$line行數
*@param$length指定行返回內容長度
*/
functiongetLine($file,$line,$length=4096){
$returnTxt=null;//初始化返回
$i=1;//行數
$handle=@fopen($file,"r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle,$length);
if($line==$i)$returnTxt=$buffer;
$i++;
}
fclose($handle);
}
return$returnTxt;
}
③ 通過php隨機讀取txt文件的某一行
PHP隨機讀取TXT文件的某一行,基本思路是這樣的:獲得總行數、產生隨機數、獲得隨機行,例子代碼如下:
<?php
$f='1.txt';//文件名
$a=file($f);//把文件的所有內容獲取到數組裡面
$n=count($a);//獲得總行數
$rnd=rand(0,$n);//產生隨機行號
$rnd_line=$a[$rnd];//獲得隨機行
echo"$rnd/$n:$rnd_line ";//顯示結果
?>
以上程序在我的電腦上執行幾次的結果如下:
E:TEMP文件exp>a.php
1/8:[00:05.33]你拿什麼來愛我2
E:TEMP文件exp>a.php
3/8:acfp6o7ib----803sb7rmvz----1525175080=
E:TEMP文件exp>a.php
1/8:[00:05.33]你拿什麼來愛我2
E:TEMP文件exp>a.php
1/8:[00:05.33]你拿什麼來愛我2
E:TEMP文件exp>a.php
5/8:bxi2jw97----0vaf3bw17s----1525184793=
④ php里有沒有指定讀取第幾行的函數
php提供了內置函數fgets(),從文件指針中讀取一行。代碼如下:<?php $file=fopen("D:\\CHENCHENG\\myqq.txt","r"); while(! feof($file)){ $rows = fgets($file); echo "你要的第三行內容就是$rows[2]";}
⑤ php讀取逐行讀取文件
換個1mb的文本它肯定有空格換行,具體操作如下代碼:
$file = file("welcome.txt");
foreach($file as &$line) echo $line.'<br />';
這個更方便, file()直接把文本按行轉換成數組
fgets如果沒指定第二參數,將直接讀取到緩存結束為止, 其實它不以換行來循環的,它的第二參數也是限制每次讀取的字元個數而已。
⑥ php如何隨機讀取txt文檔內若干行並顯示出來
<?php
$arr=file('txt');//請使用准確的文件名代替txt
$n=count($arr)-1;
for ($i=1;$i<=100;$i++){//100的需要顯示的行數的例子,不是100時請換為具體數
$x=rand(0,$n);
echo $arr[$x],"\n";//隨機顯示一行
}
?>
⑦ PHP讀如文件行並依照次序寫入變數
function getAallLine()
{
global $class;
$filename='./瞎明database/磨雀告class.info';
$f=fopen($filename,"r"歲余);
while(!feof($f))
{
$line=fgets($f);
$class[]=$line;
}
fclose($f);
}
$class=array();
getAallLine();
$j=count($class);
$i=0;
while($i<$j)
{
echo $class[$i].'<br>';
++$i;
}
⑧ php讀取txt文件指定行的內容並顯示
<?php
$handle = @fopen("1.txt", "r");
$str="";
if ($handle) {
for($i=0;$i++;$i<3){
$buffer = fgets($handle, 4096);
if(strpos($buffer,"aaaa")!==false){
$str.= $buffer;
}elseif(strpos($buffer,"bbbb")!==false){
$str.= "[".$buffer."]";
}elseif(strpos($buffer,"cccc")!==false){
$str.= "(".$buffer.")";
}
}
fclose($handle);
}
echo $str;
?>
⑨ php怎麼一行一行的讀取字元串
php fgets將txt文件內容一行一行的讀出
說明
string fgets ( int $handle [, int $length ] )
從 handle 指向的文件中讀取一行並返回長度最多為 length - 1 位元組的字元串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。如果沒有指定 length,則默認為 1K,或者說 1024 位元組。
出錯時返回 FALSE。
通常的缺陷:
習慣了 C 語言中 fgets() 語法的人應該注意到 EOF 是怎樣被返回的。
文件指針必須是有效的,必須指向由 fopen() 或 fsockopen() 成功打開的文件(並還未由 fclose() 關閉)。以下是一個簡單例子:
<?php
$handle=@fopen("/tmp/inputfile.txt","r");
if($handle){
while(!feof($handle)){
$buffer=fgets($handle,4096);
echo$buffer;
}
fclose($handle);
}
?>