在php中用分隔符读取文本文件

时间:2010-02-20 10:53:15

标签: php explode readfile delimited-text

我在textfile.txt中有三个食物:

20100220
Hello
Here is Text \n blah \t even | and & and so on...

我想在php中将每个entrie(line)读作一个新字符串。我想过使用fopen和fgets。但是:因为我在最后一行使用了\ n之类的特殊字符,所以fgets()不起作用,因为它会终止字符串\ n,对吗?结果最后一行只是'Here is Text'。

如何以正确的方式读取/爆炸三行,所以最后一行中的\ n将被解释为普通字符串? 谢谢!

P.S。 通过在textfile.txt中有三行我间接选择\ n作为分隔符,但我也可以使用另一个分隔符。什么是阅读内容的最佳方式?

2 个答案:

答案 0 :(得分:2)

您有两种选择:

1.-使用file()获取每行包含元素的数组(以'\ n'分隔)

$lines_of_file = file("myfile.txt");
//Now $lines_of_file have an array item per each line

2.-使用file_get_contents()获取单个字符串,然后可以按所需的任何分隔符进行拆分

$file_content = file_get_contents("myfile.txt");
$file_content_separated_by_spaces = explode(" ", $file_content);

答案 1 :(得分:1)

使用file(),它会自动为您提供逐行数组:

$rows = file('textfile.txt');

即使您使用fgets等,也应该能够使用"\n"正确爆炸,因为它的处理方式与文字'\n'不同。