-1

ユーザーが登録すると、カスタムディレクトリが作成され、そのディレクトリ内にindex.html. そのファイルに 100 行以上の HTML ページ全体を書きたいと思います。を使っていたのですが、やfopen() fwrite($filepath, 'content');のようなエスケープ文字があり、PHP の機能を台無しにしてしまいます。''""

これらのファイルに大きなコンテンツを書き込むためのより良い方法はありますか?それとも、ファイルを Web サーバーのどこかに保存してから、それを新しい登録ユーザーごとに転送する必要がありますか?

4

3 に答える 3

3

すでにディスク上にファイルがあり、ユーザーごとに変更しない場合は、ファイルをコピーする必要があります。

PHPでファイルを読み込んでから書き込むのはリソースの無駄です..

PHP マニュアル - コピー

于 2013-08-05T13:14:03.020 に答える
0

つまり、「コンテンツ」と言う場所には、スクリプト自体にハードコードされた html ファイルがあるということです。標準のhtmlファイルをWebサーバーのどこかに保存し、次のようにする方が簡単です。

file_put_contents('/path/to/user/file', file_get_contents('/path/to/standard/index.html'));

保守が容易になり (コードに html はなく、テスト可能な html ファイルのみ)、文字のエスケープについて心配する必要がありません。ゆっくりやれ :)

編集

私より賢い誰かが、ファイルをコピーすることを提案しました。もちろん、コンテンツを読み書きするよりもはるかに賢明なことです...

于 2013-08-05T13:15:42.973 に答える
0

見てhtmlentities($var);

http://php.net/manual/en/function.htmlentities.php

于 2013-08-05T13:12:38.553 に答える