php逐行读取文件
⑴ php逐行操作文件
如果你的文件不大,就应该使用file,把所有文件内容读入数组,对数组进行处理(+1),然后写会文件。
如果文件较大,或者BT老师不让用数组,那么就只有一行一行的读文件,每读一行处理一行,然后写入一个临时文件,最后关闭两个文件,删除旧文件,再把临时文件更名为旧的,大概的过程如下:
<?php
$f='a.txt';//需要处理的文件名
$f1=fopen($f,'r');
$f2=fopen($f.'.tmp','w');
while(!feof($f1)){
$s=fgets($f1);
$s++;
fputs($f2,$s);
}
fclose($f2);
fclose($f1);
rename($f.'.tmp',$f);
?>
⑵ PHP里如何读取文件的指定一行
用file读出以后,直接使用行号饮用各行,例如:
$a=file('abc.txt');
那么显示第5行的语句是:
echo $a[5];
⑶ php逐行读取txt文件内容,并把内容放到输入框里,一行内容对应一个输入框
<?php
header("Content-type:text/html;charset=utf-8");
$f_open = fopen('aaa.txt','w+'); //打开文件
if(isset($_POST['submit'])){ //判断,如果点了提交按钮则执行以下代码
fwrite($f_open,$_POST['txt']); //写入文件,内容专为文本域属传过来的值
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
textarea{
width: 300px;
height: 20px;
}
</style>
</head>
<body>
<form method="post" action="a.php">
<textarea name="txt">
<?php
$aaa = readfile('aaa.txt'); //读取aaa.txt的内容
?>
</textarea>
<input type="submit" name="submit">
</form>
</body>
</html>
<?php
fclose($f_open); //关闭文件
?>
⑷ php 逐行读取txt 并,分隔判断
<?
$file = file_get_contents('text.txt');
//读取文件
$lines = explode('\n', $file);
//按行分割字符串
echo '<table>';
//用表格输出
for($lines as $line){
echo '<tr>';
//分行回
$keys = explode(',', $line);
//按逗号分割
for($keys as $key){
echo "<td>$key</td>";
//输出每行中答的各列
}
echo '</tr>';
}
echo '</table>';
⑸ PHP逐行读取TXT文件内容碰到特殊符号停止读取并实现分页,当点击下一页时又循环读取碰到特殊符号停止读取
这种客户化需求应该没有源码吧,只能提供点思路。
首先存的时候注意\n,然后特殊字符的话,可以使用正则指定匹配。
⑹ php如何逐行读取数据
$arr = explode("\n",$text);把双引号写成单引号是不行的哦.
⑺ 如何用php读取txt文件的第n到第n+100行,并输出.
一般是使用fopen、fgets的方法,例如:
<?php
$fp=fopen('文件名.txt','r');
for ($i=1;$i<100;$i++) fgets($fp);//跳过前99行
$arr=array();//初始化数组
for ($i=0;$i<100;$i++) $arr[]=fgets($fp);//读出100~200行
fclose($fp);
//下面输出内容
echo '<table>';
for ($i=0;$i<50;$i++){
echo '<Tr><td>'.$arr[$i].'<td>'.$arr[$i+50];
}
echo '</table>';
?>
⑻ php读取单文件变成读取指定多文件逐行读取,求修改代码。
$xxx = mt_rand(1,1000);
$a=file('word'. $xxx .'.txt');
$a = str_replace("\r\n","",$a); //过滤多余回车
⑼ php读取txt并逐行逐字输出
用fopen打开资源
fgets可以读取一行,
知道返回false;
类似java的io流的操作
⑽ php读取逐行读取文件
换个1mb的文本它肯定有空格换行,具体操作如下代码:
$file = file("welcome.txt");
foreach($file as &$line) echo $line.'<br />';
这个更方便, file()直接把文本按行转换成数组
fgets如果没指定第二参数,将直接读取到缓存结束为止, 其实它不以换行来循环的,它的第二参数也是限制每次读取的字符个数而已。