ホームページ >バックエンド開発 >PHPチュートリアル >問題に遭遇したとき、何か簡単な書き方はないかと考えましたが、現時点では見つかりませんでした。

問題に遭遇したとき、何か簡単な書き方はないかと考えましたが、現時点では見つかりませんでした。

WBOY
WBOYオリジナル
2016-06-23 14:11:31908ブラウズ

config.php

array(
'title='>"123",
'title2'=>"123",
'title3'=>"123",
......
無制限
)

現時点では、title2 の値を、たとえば 456 に変更するだけです
それをすべて読み取って、再度ファイルに書き込む必要がありますか?


ディスカッションへの返信 (解決策)

$array['title2'] = 456;

ああ、間違っていました、ファイルに書き込まれていることが判明しました。

オプションは 2 つあります
1. ファイルが比較的大きい場合は、fgets を使用して、title2 を読み取るまで 1 行ずつ読み取ります。ただし、これには注釈の問題という欠点があります。

2. file_get_content、次に file_put_content

そうです!書き直す必要があります
そのため、大量のデータがデータベースに適用されます

ファイルが大きい場合は、#2 のソリューションに適応して、各行を読み取り、必要に応じて変更を加え、新しいファイルを書き込みます
その後すべてが完了したら、古いファイルを削除し (または bak という名前に変更し)、新しいファイルの名前を元のファイルに変更します

権限が十分であることが前提です

なぜ同時に読み取りと書き込みが必要なのでしょうか?
投稿者の config.php ファイルは明らかに読み込まれています
したがって、必要なのは var_export を使用して、変更された配列を php コードに構築し、書き戻すだけです

ファイルが巨大である場合の状況について話しています。 config はおそらくそれほど大きくありません

なぜ同時に読み取りと書き込みが必要なのでしょうか?
投稿者の config.php ファイルは明らかに読み込まれています
したがって、var_export を使用して、変更された配列を php コードに構築し、それを書き戻すだけです

うろ覚え

ポインタが間違っている可能性があります。一度デバッグする必要があります。

別の方法で考えてみましょう、

このような問題に遭遇したときは、自分が間違った方向に進んでいるかどうかを考えるべきです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。