0

私は、おそらく約1,000の多数のhtmlファイルを含む非営利のWebサイトの管理を支援しています。壊れたリンクは面倒であり、おそらくPHPを使用して、これらすべてのファイルのテキスト文字列(つまり、URL)を置き換えるプログラムを作成できるかどうか疑問に思いました。

これだけ多くのファイルを使用すると、サーバーに多くの負担がかかりますか?たとえば、10人が同時にプログラムを使用して、1,000個のファイルすべてを検索して置換した場合はどうでしょうか。

4

1 に答える 1

1

確かに可能です!

これの鍵は、PHPでファイルを読み取り、その内容を処理できるようにすることです。読むのはとても簡単なので、書くのも簡単です。編集はあなたの注意を必要とするビットです。

$yourFilename = "file.html";
$yourFileData = file_get_contents($yourFilename);
if ($yourFileData !== false) {
     // File has been read successfully
     // $yourFileData has the contents of it. This is where the magic needs to happen!
}
// Write everything back
$file = fopen($yourFilename,"w");
fwrite($file,$yourFileData);
fclose($file);

このコードスニペットは、ファイルを効果的に読み取り、ファイルを書き込みます。真ん中のビットは、検索と置換を行う場所です。これには正規表現を使用することを強くお勧めします。preg_replaceは、これに非常に役立ちます。それを読んで、あなたの質問をより詳細に編集してください-私はあなたのために正規表現を書いてとても幸せです。

ディレクトリを反復処理することも非常に簡単です。opendir()を使用してディレクトリを開き、readdir()を使用してループし、戻り値が。、..、またはfalseではなく、ファイルであることを確認します。

複数のユーザーに関する追加の質問については、私があなたである場合は避けます。これにより、競合状態が発生します。

于 2012-11-17T23:26:30.037 に答える