十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
换个1mb的文本它肯定有空格换行,具体操作如下代码:
成都创新互联于2013年开始,先为宝丰等服务建站,宝丰等地企业,进行企业商务咨询服务。为宝丰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
$file = file("welcome.txt");
foreach($file as $line) echo $line.'br /';
这个更方便, file()直接把文本按行转换成数组
fgets如果没指定第二参数,将直接读取到缓存结束为止, 其实它不以换行来循环的,它的第二参数也是限制每次读取的字符个数而已。
?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); //关闭文件
?
如果直接使用file_get_contents来读取文件,那么在文件很大的时候会很占内容,比如这个文件有1GB的时候。
这个时候使用传统的文件操作方式就好的多,因为是查找嘛,逐行读取匹配应该也是可以的,下面是我的一个建议,不知道是否满足你的要求,可以看下:
//
需要查找的内容
$search
=
'bcd';
//
打开文件
$res
=
fopen('a.txt',
'r');
while
($line
=
fgets($res,
1024))
{
//
根据规则查找
if
(strpos($line,
$search)
===
0)
{
//
根据既定规则取得需要的数据
echo
substr($line,
4,
-1);
//
这里就是你想得到的
break;
}
}
//
关闭文件
fclose($res);