蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[php]读取文件某一行或某一个字符应该怎么写?

fread();   fgetc();  fgets ();好像都不可以读取某一行,或某个字符?
例如:
文件名为num.txt;
内容如下:
1 |welcome|
2 |hello|
3 |hi|
如果用内容前的1,2,3进行读取文件,然后显示后面的|welcome|,|hello|,|hi|
或者是显示本行的内容都行?
另外高手们有没有完全中文的手册呀,我下载的手册是一半中文一半英文,不过有的中文手册很多函数都上面都没有,有的就一半中一半英文,
能给我留下下载地址吗?:confused:

都是一半中文一半英文的
呵呵
file函数
自己查查..
可以读取一行进行显示

<?php
$content = file ('xx.txt');
foreach ($content as $out) {
    echo $out . "<br>";
}
?>
这样可以显示成你要的那样

哦,试试......

还是不行,它把全部都读出来了
我看手册上有我样写的:
<?php
$content = file ('xx.txt');
$out="3";
foreach ($content as $out => $content) {
echo "Line #<b>{$out}</b> : " . htmlspecialchars($line) . "<br>\n";
}
?>
读出来是文档的行数!

你要干嘛?
我没看懂意思
:(

就是读取字符所在的那一行呀

程序代码
<?php
$content = file ('xx.txt');
$search_for = "3";//要取得的地方
foreach ($content as $content) {
        $aa=explode("|",$content);
        if($aa[0]==$search_for){
                echo $aa[1];
                exit;
        }
}
?>


xx.txt的内容
1|fdsafdsafasf|
2|12222|
3|33344|


效率可能很低~

如果我要以空格为界线呢?
<?php
$content = file ('xx.txt');
$search_for = "3";//要取得的地方
foreach ($content as $content) {
    $aa=explode(" ",$content);
    if($aa[0]==$search_for){
        echo $aa[1];
        exit;
    }
}
?>
xx.txt的内容
1 fdsafdsafasf
2 12222
3 33344


不行,有专门的空格代码?
没见过

最好别用空格没界
如果你后面有空格就麻烦了
:)

我对php不熟悉,我看过的读取文本数据的代码几乎都是对数据进行遍历检索,甚至那种ip数据库都是这么做的-_-

对付文本数据,除非它的内容非常有规律(比如每行字数固定,而你搜索的值与行数本身有联系),或者你有自定义索引,不然我想很难进行高效搜索的

是呀,我就是用在IP库里的,以上的办法吧,可是可以,但要改IP库,3M呀,我得弄上好几天呀,IP都是这样写的
202.012.685 202.015.540 广东深圳
这里是举例!

Sheneyan
在ASP里也有这种的,我见过,不过是用TAB键代替空格

<?php
$content = file ('xx.txt');
$search_for = "3";//要取得的地方
foreach ($content as $content) {
$aa=explode(" ",$content);
if($aa[0]==$search_for){
echo $aa[1];
exit;
}
}
?>
xx.txt的内容
1 fdsafdsafasf
2 12222
3 33344
这样行了,郁闷,真不知道怎的




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com