php讀取行
1. 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);
}
?>
2. 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;
}
3. php里有沒有指定讀取第幾行的函數
php提供了內置函數fgets(),從文件指針中讀取一行。代碼如下:<?php $file=fopen("D:\\CHENCHENG\\myqq.txt","r"); while(! feof($file)){ $rows = fgets($file); echo "你要的第三行內容就是$rows[2]";}
4. php如何獲取幾行數據
php 讀取數據一般都是在循環讀取的時候把數據放入數組里,例如
<?php
$link = mysql_connect("資料庫地址","用戶名","密碼");//連接伺服器
mysql_select_db("資料庫名",$link);//連接資料庫
mysql_query("set names gb2312");//設置字元集
$str = "select * from table1";//查詢語句
$result = mysql_query($str,$link);//執行查詢
$re_array = new array();//構造數組
while($row = mysql_fetch_array($result))
{
$re_array[] = $row['列名'];//這樣可以保存多列數據,根據語句不同,需要在這進行相應修改
}
?>
5. 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;
?>
6. php怎麼一行一行的讀取文件
$myfile=fopen("web.txt","r");
echofgets($myfile);//fgets為讀取一行,行本質是段落
fclose($myfile);
7. 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;
}
暫時沒想到什麼好辦法或找到對應函數,拋磚引玉,希望見到更好的解決方案
8. 通過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=
9. php讀取txt文件指定行的內容並顯示
<?php
function getFileRows($filename,$start,$num=0)
{
$rowsdata = array();
$lines = file( $filename );
$start = $start -1;
$num = $num == 0 ? count($lines)-$start : $num;
for($i=0;$i<$num; $i++)
{
$k = $start + $i;
$rowsdata[] = $lines[$k];
}
return $rowsdata;
}
print_r(getFileRows('1.txt',3,1)); //第三行
print_r(getFileRows('1.txt',5,1)); //第5行
print_r(getFileRows('1.txt',7,1)); //第7行
?>