определить строки в файле в php - PullRequest
0 голосов
/ 22 января 2011

У меня есть файл, который содержит пароли / имена пользователей:

Томас 123
Джон 321

Как лучше всего определить строки и добавить к ним контактную информацию?Прямо в файле паролей я не хочу хранить, потому что размер файла имеет значение .. Я думал добавить строку идентификатора перед записями, например:

[1]
Томас 123
[2]
Джон 321

Что ты думаешь?Это хороший способ определить линии?Если да, как я могу прочитать строку после идентификатора [число]?

Если я могу прочитать, то во втором файле я могу сохранить контактную информацию.

[1]
электронная почта и т. д.
[2]
электронная почта и т. д.

это файл конфигурации автономного приложения, к сожалению, я не могу изменить структуру этого файла (макс. изменить: добавить идентификатор перед строками)или используйте базу данных.

Большое спасибо,

Адриан

Ответы [ 4 ]

0 голосов
/ 22 января 2011

Вы можете сделать это так же просто, как один вызов функции файла.

$lines = file ('passwords.txt');

После этого все строки будут пронумерованы от 0 до N-1.

0 голосов
/ 22 января 2011

Как zerkms написал в своем комментарии к вашему вопросу, вам, вероятно, следует использовать базу данных для этого. Если вам неудобно настраивать базу данных на сервере, загляните в SQLite ( php manual ), которая представляет собой файловую базу данных, которая действительно проста в использовании и настройке. ,

Если вы хотите придерживаться подхода с использованием текстовых файлов, зачем писать свой собственный формат и анализатор? Вы также можете использовать существующий формат, такой как JSON (может быть проанализирован с помощью json_decode ) или даже файл INI (используйте parse_ini_file ).

И: Никогда не храните ваш текстовый файл в месте, где он доступен глобально (например, webroot).

0 голосов
/ 22 января 2011

Предположительно, имена пользователей в файле паролей уникальны (иначе это было бы не очень полезно). Если предположить, что это так, то почему вы не можете оставить его структуру без изменений? Тогда ваш контактный файл может быть отформатирован как INI-файл или JSON-файл, как предложено bummzack, с именем пользователя в качестве ключа.

0 голосов
/ 22 января 2011

Вы можете использовать цикл while, который читает каждую вторую строку в качестве вашего идентификатора, а каждую вторую строку в качестве вашего имени пользователя и пароля;однако, как и то, что сказал @zerkms, вам лучше положить свою энергию в проверенную и проверенную базу данных.

Обучение использованию базы данных сэкономит ваше время в будущем, так что в каждом проекте вам не нужно выяснять, как именно манипулировать плоским файлом.

Многоразовые решения позволяют и позволяют вам сосредоточиться на своей цели и своем продукте, какими бы они ни были.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...