Вопрос

У меня есть три попытки в textfile.txt:

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

Я хочу читать каждую запись (строку) как новую строку в php.Я думал об использовании fopen и fgets.Но:Поскольку я использую специальные символы, такие как в последней строке, fgets() не будет работать, потому что она завершит строку на , верно?В результате последней строкой будет просто "Вот текст".

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

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

Это было полезно?

Решение

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

1.- Использовать файл() чтобы получить массив с элементом для каждой строки (разделенный символом ' ')

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

2.- Использовать file_get_contents() файл_get_contents() чтобы получить единую строку, вы можете затем разделить любым разделителем, который вы хотите

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top