PHP超入門 (46)
■今までのまとめ■
今までの話の流れをここで、一度確認すると、以下のようになります。
(1) ブラウザのフォーム上に、自分の好きな内容の文章(テキスト)を入力
する。
↓
(2) ハードディスク上に新しくその入力された文章(テキスト)ファイルを
PHPプログラムで自動的に作成し、保存する。
↓
(3) その、文章(テキスト)ファイルを丸ごとブラウザのフォーム上に読み
込んで、ブラウザ上で自分の好きな内容に変更する。
↓
(4) その変更した内容を、丸ごとPHPプログラムで自動的に上書き保存する。
で、前回の話では、(3)の段階が完成し、無事に、サーバーのハードディスク上
にある文章(テキスト)ファイルの中身が、一行テキストボックスの中に読み
込まれ、ブラウザ上で自由に編集できるようになりました。
そして、最後は、編集後の文章(テキスト)を、サーバーのハードディスク上
に保存するだけとなります。
■フォーム上のテキストファイルの中身をハードディスクに書き込む■
さて、今回の話題となる、最後の処理なのですが、実を言うと。。。
もう、出来ています。
上記の一連の流れの中の最初の段階で、
(2) ハードディスク上に新しくその入力された文章(テキスト)ファイルを
PHPプログラムで自動的に作成し、保存する。
というのが、あり、その処理を行うのが、サーバー上に既にある、「096-3.php」
というPHPプログラムが行ってくれました。
最初の段階では、「フォームに新しく入力された内容をサーバーのハードディ
スクに文章(テキスト)ファイルとして保存する」という役割でしたが、この、
「096-3.php」というPHPプログラムは、書き込まれる内容が、新規のものであ
ろうと、既にあるものが修正されたものであうが、関知しません。
純粋に、フォームの中身にある内容を、サーバーのハードディスク上に保存す
る働きがあります。
ここで、チョット、前回のPHPプログラムを出してみると。。。
-------------------------------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\096-2.txt","r");
?>
<html>
<head>
<title>入力フォーム</title>
</head>
<body>
<form action="096-3.php" method="post">
テキスト入力:<input type="text" name="text01" value="<?php print($text01) ?>">
<input type="submit" name="bottun1" value="入 力">
</form>
</body>
</html>
-------------------------------------------------------------------------------
でして、このプログラムの中の「form action="096-3.php" method="post"」と
いう部分で、指定してやるのです。
そうすると、「name="text01"」と名前が付けられたテキストボックスの中身が
「096-3.php」という、PHPプログラムに渡され、
「096-3.php」の中身
----------------------------------------------------------
<?php
$text01 = $_POST["text01"];
$file = fopen("C:\\inetpub\\wwwroot\\php\\096-2.txt","w");
fwrite($file,$text01);
fclose($file);
print("書き込み終了しました。");
?>
----------------------------------------------------------
「$text01 = $_POST["text01"];」の一行で、渡されたテキストボックスの中身
が、変数「$text01」に格納されます。
その後は、
$file = fopen("C:\\inetpub\\wwwroot\\php\\096-2.txt","w");
fwrite($file,$text01);
の2行で、実際に、変数「$text01」に格納された内容を、実際にサーバーのハ
ードディスクに保存し、
fclose($file);
で、(前回のメルマガでも書きましたが)開いたファイルはお行儀よく閉じて、
全部の過程は完了となります。
以上で、最初に書いた、今回の一連の流れ、(1)〜(4)は無事に終わることにな
りました。
これで、何とか、今まで、ず〜と、何号かに分けてお話してきた一連のお話は、
今回で終わりとなります。
どうですか?
多分、今までのメルマガの中では、結構、短く終わった今号と思っているので
すが、いかがでしょうか?