чтение текстового файла с разделителем в php
-
21-09-2019 - |
Вопрос
У меня есть три попытки в 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'
.