Я пытаюсь прочитать каждую строку текстового файла в массиве и поместить каждую строку в новый элемент.
Мой код пока что.
<?php
$file = fopen("members.txt", "r");
$i = 0;
while (!feof($file)) {
$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
fclose($file);
?>
php
arrays
text-files
fgets
Дэн
источник
источник
'\n\'
не будет взорван, хотя он должен быть a,"\n"
чтобы он был проанализирован как escape-последовательность.Ответы:
Если вам не нужна специальная обработка, это должно сделать то, что вы ищете.
источник
file()
кажется значительно медленнее, чемfile_get_contents
+explode
to arrayСамый быстрый способ, который я нашел:
где $ filename будет путем и именем вашего файла, например. ../filename.txt.
В зависимости от того, как вы настроили текстовый файл, вам, возможно, придется поиграться с битом \ n.
источник
Просто используйте это:
источник
FILE_IGNORE_NEW_LINES
Избегайте добавления новой строки в конце каждого элемента массива.Вы также можете использовать
FILE_SKIP_EMPTY_LINES
для пропуска пустых строк.ссылка здесь
источник
источник
Очевидно, вам нужно сначала создать дескриптор файла и сохранить его в
$file
.источник
Это просто:
file_get_contents()
- получает весь файл в виде строки.explode("\n")
- разделит строку разделителем"\n"
- что такое ASCII-LF escape для новой строки.Но обратите внимание - убедитесь, что у файла есть UNIX -строчные окончания.
если
"\n"
не будет работать должным образом, у вас есть другая кодировка 2 новой строки, и вы можете попробовать"\r\n"
,"\r"
или"\025"
источник
источник
Вы были на правильном пути, но с опубликованным вами кодом возникли некоторые проблемы. Во-первых, для цикла while не было закрывающей скобки. Во-вторых, $ line_of_text будет перезаписываться при каждой итерации цикла, что фиксируется изменением = на. = В цикле. В-третьих, вы расставляете буквальные символы '\ n', а не новую строку; в PHP одинарные кавычки обозначают буквальные символы, но двойные кавычки фактически интерпретируют экранированные символы и переменные.
источник
Это будет принимать текстовый файл как массив. Так что напишите что-нибудь в файл links.txt (используйте одну строку для одного элемента) после того, как запустите эту страницу :) ваш массив будет $ file
источник
Здесь это описано достаточно хорошо, но если вы ДЕЙСТВИТЕЛЬНО нужна даже лучшая производительность, чем все перечисленное здесь, вы можете использовать этот подход, который использует
strtok
.Обратите внимание, это предполагает, что ваш файл сохранен с
\n
символом новой строки (вы можете обновить его по мере необходимости), и он также сохраняет слова / имена / строки как ключи массива вместо значений, так что вы можете использовать его как таблица поиска, позволяющая использоватьisset
(намного, намного быстрее) вместоin_array
.источник