データベースをサポートしていないシンプルな掲示板で、主にファイルへのデータの保存と読み取りの演習を行います。
- /**
- * これはデータベースサポートのない単一ページの掲示板システムです
- * 知識ポイント:
- * 1. ヒアドキュメントドキュメントの使用: >>>EOT EOT; 2 番目の EOT 行の前にスペースを入れることはできません
- * 2 、ファイルの読み取りと書き込み操作
- * 3. fread と fgets の違い、fread は指定された長さの文字列を読み取り、fgets は 1 行を読み取り、データが保存されるとき、1 行はメッセージの内容であり、読み取りに便利です
- *
- * 4. ファイルロック、このバージョンはまだ実装されておらず、リファレンスコードのみが書かれています。
- *
- */
-
- $file = "message.txt";
- if(isset($_POST)&&!empty($_POST)){
- $post = $ _POST;
- $content ="title:".$post['title'].' content:'.$post['message']."nr";
- if( file_exists($file) ){
- add_message($ file,$content);
- }else{
- create_message_file($file,$content);
- }
- }
-
-
- /**
- * メッセージファイルを作成し、初めて使用するときにメッセージを保存します
- * ここに説明を入力します...
- * @paramknown_type $file
- * @paramunknown_type $message
- */
- function create_message_file($file,$message){
- $msgh = fopen($file,"w");
- //flock($file, LOCK_EX);
- fwrite($msgh,$message);
- fclose($msgh);
- //echo "メッセージ メッセージを追加しました。";
- echo <<
- alert("メッセージを正常に追加しました。");
- top.location='message.php';
-
- EOT ;
-
- }
-
- /**
- * 新しいメッセージ情報をファイルに追加します
- * ここに説明を入力します...
- * @paramknown_type $file
- * @paramunknown_type $message
- */
- function add_message($file,$message){
- $msgh = fopen($file, "a");
- //flock($msgh,LOCK_EX) ;
- fwrite($msgh,$message);
- fclose($msgh);
- //echo "メッセージは正常に保存されました。";
- echo <<
-
- EOT;
- }
-
- /**
- * メッセージの内容を表示します
- * ここに説明を入力します...
- * @paramknown_type $file
- */
- function show_message($file){
- $msgh = fopen($ file, "r");
- //flock($msgh, LOCK_EX);
- while($msg = fgets($msgh)){
- echo $msg;
- echo "
";
- }
- fclose( $msgh);
- }
-
-
-
- ?>
-
-
- 無データ库サポート简单留言板
- body{
- margin:0px;
- padding:0px;
- }
- #message{
- 幅:960px;
- マージン:0px自動;
- パディング:10px;
- オーバーフロー:非表示;
- 背景:#CCCCCC;
- }
-
- < ;body>
-
-
無データベース库サポートの简单留言パネル__留言コンテンツ表示 |
-
-
- if(!file_exists($file)||filesize($file)<1 ){
- ?>
-
-
暂時还没有言 |
-
- }else{
- ?>
-
-
- show_message($file);
- ?>
-
|
-
- }
- ?>
-
|