2010-02-20 10 views
0

У меня есть три eintries в виде TextFile.txt:прочитать текстовый файл с разделителем в PHP

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

я хочу прочитать каждый entrie (строки) в качестве новой строки в PHP. Я думал об использовании fopen и fgets. Но: Поскольку я использую специальные символы, такие как \ n в последней строке, fgets() не будет работать, потому что он прекратит строку в \ n, правильно? В результате последней строкой будет просто «Here is Text».

Как я могу прочитать/взорвать три строки в правильном направлении, поэтому \ n в последней строке будет интерпретироваться как обычная строка? Спасибо!

p.s. Имея три строки в моем файле textfile.txt, я косвенно выбрал \ n в качестве разделителя, но я мог бы также использовать другой разделитель. что это лучший способ прочитать содержание?

+0

Вы пробовали? Насколько мне известно, 'fgets()' ищет '' \ n "' (newline), который не совпадает с '' \ n'' (буквальная строка \ n). –

+0

ОК. Нет, нет, но я попробую. – creativz

ответ

2

У вас есть два варианта:

Используйте file() 1. Определения, чтобы получить массив с элементом для каждой строки (разделенные «\ п»)

$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

Использование file(), который автоматически выдаст вам линию за линией массива:

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

И даже если вы используете fgets и таким образом, вы должны быть в состоянии правильно взрываются с "\n", как это трактуется по-разному чем литерал '\n'.