如何写 PHP 查询 TXT 文件内容

2015-11-03 11:53:14 +08:00
 hongqigong

各位技术帝,帮忙写个 PHP 查询 TXT 里面内容的查询页面

如: TXT 内容
张三----2015 年 10 月 2 日 10 时----80----zhangsan----1234@qq.com
李四----2015 年 10 月 2 日 10 时----80----zhangsan----12345@qq.com
王五----2015 年 10 月 2 日 10 时----80----zhangsan----123456@qq.com

PHP 页面输入 123@qq.com 此邮箱就能显示张三这条信息,输入其他的则不返回信息

如何实现

4696 次点击
所在节点    PHP
43 条回复
sunjourney
2015-11-03 11:57:09 +08:00
这有点难啊,可能你培训老师会知道
realpg
2015-11-03 11:58:15 +08:00
这个太难了。问一下你的培训机构老师吧。
rainysia
2015-11-03 11:58:26 +08:00
这有点难啊,可能你培训老师会知道
rainysia
2015-11-03 11:59:09 +08:00
这有点难啊 ~可能你培训老师会知道
faceair
2015-11-03 12:00:34 +08:00
读文件 根据换行符切分成数组 遍历数组根据输入匹配行 输出行
jugelizi
2015-11-03 12:02:35 +08:00
是有点难 楼下会吗
Neytoph
2015-11-03 12:03:55 +08:00
等我问问我师父
zakokun
2015-11-03 12:04:59 +08:00
稍等,我请教下我们公司的 CTO
wjself
2015-11-03 12:06:10 +08:00
233 ,不要這樣嘛…直接 if 語句寫滿要判斷的郵箱不就好了嘛…
dofy
2015-11-03 12:14:33 +08:00
```php
<?php
$txt =
'张三----2015 年 10 月 2 日 10 时----80----zhangsan----1234@qq.com
张三 A----2015 年 10 月 2 日 10 时----80----zhangsan----01234@qq.com
李四----2015 年 10 月 2 日 10 时----80----zhangsan----12345@qq.com
王五----2015 年 10 月 2 日 10 时----80----zhangsan----123456@qq.com';

$email = '1234@qq.com';
$newEmail = str_replace('.', '\.', $email);

$reg = "/.*?\-$newEmail$/m";

preg_match_all($reg, $txt, $result);

var_dump($result);
?>
```
wkdhf233
2015-11-03 12:15:05 +08:00
$mail = '1234@qq.com';
$fp = fopen('data.txt', "r");
while (!feof($fp)) {
$line = trim(fgets($fp));
if($mail == split('----', $line)[4]){
echo $line;
}
}
dofy
2015-11-03 12:15:10 +08:00
原来回复不支持 markdown 啊。。。
solupro
2015-11-03 12:18:57 +08:00

其实调用系统命令也是一种选择, awk 不懂就不举例了
b821025551b
2015-11-03 12:20:04 +08:00
@solupro 哇这是什么呀看起来好厉害的样子~
solupro
2015-11-03 12:24:01 +08:00
@b821025551b
有必要这样冷嘲热讽吗?
7z7
2015-11-03 12:26:40 +08:00
分割成为数组,那样就可以取出了。
infong
2015-11-03 12:40:58 +08:00
Scholer
2015-11-03 12:43:44 +08:00
@solupro 不用先 cat 吧 😂 grep 1234 data.txt 就行了
solupro
2015-11-03 12:50:36 +08:00
@Scholer 命令不熟悉
aisk
2015-11-03 13:09:51 +08:00
@solupro 有啊,今天你告诉他答案明天他还来伸手问。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/233199

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX