重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
function get_file_line( $file_name, $line ){
成都创新互联公司成立与2013年,先为泰兴等服务建站,泰兴等地企业,进行企业商务咨询服务。为泰兴企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
$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;
}
暂时没想到什么好办法或找到对应函数,抛砖引玉,希望见到更好的解决方案
给个正则你
(?=td).*(?=/td)
接着再用preg_replace和strip_tags这两个函数去掉不要的html标签
如果文件不是太大的话,可以这样写:
?php
$arr=file('a.txt'); //文本文件,请修改合适的名字和位置
$n=count($arr);
for ($i=0;$i5;$i++) echo $arr[rand(0,$n)]."br';
?
如果直接使用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);
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['列名'];//这样可以保存多列数据,根据语句不同,需要在这进行相应修改
}
?
首先声明,我下面的代码是以你的那十行数据为基础,测试通过的。但是我得把它的局限说一下。
编码的时候,我是根据你的每一行的规律来的。每行用6个数据分隔7个部分的内容,所以,每个部分不能再有逗号了(当然这个危险主要来自标题,不过我看你标题分隔的时候都是空格或!)
你直接运行吧!
?PHP
$file_name="data.txt"; //假设你的数据是存在这个文件中的
$fp=fopen($file_name,'r');
while(!feof($fp)) //文件全部要读完
{
$buffer=fgets($fp,1024); //获得一行
$period = explode(",",$buffer); //以逗号分隔分行内容
if($period[6]!=1){ //找到第7部分的内容,如果不是1,就输出当然这个也是开关,你可以设置为1时输出
echo $buffer."br";
}
}
fclose($fp); //关闭文件流
?