2011-01-22 8 views
0

PHPでファイルの行を識別する:連絡先情報の行を特定し、それらに追加するための最良の方法だろう何ジョン321に私はパスワード/ユーザ名を含むファイル、持って

トーマス123

を?右のパスワードファイルに私は、ファイルの問題の大きさが..私はこのように、レコードの前に識別子の文字列を追加すると思ったので、店をたくない:

[1]
トーマス123
[2]
ジョン321

あなたはどう思いますか?それは行を識別するための良い方法ですか?はいの場合、識別子[番号]の後に行をどのように読み込むことができますか?

私が読むことができれば、2番目のファイルに私は連絡先情報を保存することができます。

[1]
メールなど
[2]
電子メールなど

これは悲しいことに、私は、そのファイル(最大の構造を変更するカント、オフラインアプリの設定ファイルで変更します。追加行の前の識別子)またはデータベースを使用します。

は、あなたがあなたのIDとユーザー名やパスワードなどの他のすべての行と他のすべての行を読み込むwhileループを使用することができ、そんなに

エイドリアン

+3

良い方法は、代わりにデータベースを使用することです。 'sqlite'でもより良い解決策になるかもしれません。 – zerkms

答えて

0

をいただき、ありがとうございます。しかし、@zerkmsが言ったように、あなたは試したとテストされたデータベースにあなたのエネルギーを入れて良いです。

データベースを使用することを学ぶことで、各プロジェクトでフラットファイルの操作方法を正確に把握する必要がなくなるため、将来の時間を節約できます。

再利用可能なソリューションを使用すると、目的や製品に焦点を当てることができます。

0

zerkmsがあなたの質問に彼のコメントで書いたように、おそらくデータベースを使用するべきです。サーバー上でデータベースを設定するのが快適でない場合は、実際に使いやすくセットアップするファイルベースのデータベースであるSQLitephp manual)を調べてください。

テキストファイルアプローチを採用したいのであれば、独自のフォーマットとパーサーを書く理由は何ですか? JSONjson_decodeと解析可能)やINIファイル(parse_ini_fileを使用)などの既存の形式を使用することもできます。

また、テキストファイルは、グローバルにアクセス可能な場所(例:Webroot)に保存しないでください。

+0

Guys、これはオフラインアプリの設定ファイルです。悲しいことに、そのファイルの構造を変更することはできません(最大変更:行の前に識別子を追加してください) – Adrian

0

パスワードファイルのユーザー名は一意であると考えられます(そうしないと、あまり役に立ちません)。その場合、何も追加せずにその構造をそのまま残すことはできないのですか?その後、ユーザー名をキーとして推奨されるbummzackとして、連絡先ファイルをINIファイルまたはJSONファイルとしてフォーマットすることができます。

0

これは、ファイル機能を1回呼び出すだけで簡単に処理できます。

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

その後、すべての行に0からN-1の番号が付けられます。

関連する問題