PHP超入門 (49)
■今までのおさらいと、+α■
前回の最後に、今までの総まとめ?のPHPプログラムとして、自分の好きなファ
イル名でサーバーのハードディスク上にテキスト(文章)ファイルを保存する
PHPプログラムの1例を示しました。
すなわち、
(HTMLフォーム)
--------------------------------------------------------------
<html>
<head>
<title>入力用フォーム</title>
</head>
<body>
<form action="103-2.php" method="post">
ファイル名<br>
<INPUT size="20" type="text" name="title01">.txt<br>
<br>
内容<br>
<TEXTAREA rows="10" cols="15" name="content01"></textarea><br>
<input type="submit" name="bottun01" value="入 力">
</form>
</body>
</html>
--------------------------------------------------------------
というフォームから受け取ったファイル名と、そのテキスト(文章)の中身を
---------------------------------------------------------------
<?php
$hensuu01 = $_POST["title01"];
$hensuu02 = $_POST["content01"];
$hensuu03 = "C:\\inetpub\\wwwroot\\php\\" . $hensuu01 . ".txt";
$file = fopen($hensuu03,"w");
fwrite($file,$hensuu02);
fclose($file);
print("書き込み終了しました。");
?>
---------------------------------------------------------------
というPHPプログラムで実際にサーバーのハードディスク上に保存する訳です。
上のPHPプログラムはPCのブラウザで実行可能ですが、例えば、下の例のよう
にHTML文の中に埋め込んでしまえば、携帯からでも実行することができます。
----------------------------------------------------------
<html>
<head>
<title>書き込み終了</title>
</head>
<body>
<?php
$hensuu01 = $_POST["title01"];
$hensuu02 = $_POST["content01"];
$hensuu03 = "C:\\inetpub\\wwwroot\\php\\" . $hensuu01 . ".txt";
$file = fopen($hensuu03,"w");
fwrite($file,$hensuu02);
fclose($file);
print("書き込み終了しました。");
?>
</body>
</html>
----------------------------------------------------------
この場合、あなたが持っている携帯の表示幅に合わせて、HTML文のテキストボ
ックスの幅を調整する必要がありますが、このようにすれば、出先から携帯だ
けで、サーバーとした事務所(自宅)のパソコンにガンガンいろいろな文章を
保存していくことができます。
では、その後、保存したデータをどうするか?です。
これは、人によって様々でしょう。
「とりあえずサーバーに保存できればイイヤ。その後の処理は、事務所(自宅
)に戻ってからにするから。。。」
という方はここで話は終わりになってしまいます。
一方、
「イイエ、私の場合は、気が付いた時に、サーバーに保存したデータを再び呼
び出して、修正・保存したい」
という方もいるでしょう。
そんな訳で、これから、話の都合上、後者の方の場合についてお話したいと思
います。
まずは、ファイルをがんがんサーバー上に保存して、ファイルが沢山ある場合、
どのようなファイルが保存されているか、そのファイルたちを一覧形式で見た
いところでしょう。。。
で、その方法です。
■サーバー側の設定で一覧表示させる■
これは、ず〜〜〜〜〜〜〜と前にお話した事なのですが、サーバーの設定によ
り、フォルダに保存されているファイルの一覧を取得できるお話をしました。
「ファイルの一覧表示」
http://www.e-and-a.ws/03/038.asp
ズバリ、この方法を使うのです。
そうすれば、フォルダに保存されているファイルが一覧表示され、見たいファ
イルのリンクをクリックすれば、ファイルの中身を見ることができます。
コレ、一番手っ取り早く単純な方法です。
ただ、この方法の唯一最大の難点は、保存されているファイルの中身を「見る
だけ」であり、修正・保存することができません。
というか、そんな事が可能になっていたら、世にある全てのホームページが悪
戯されてしまいます。
そんな訳で、何とか別の方法を考えて、ファイルの一覧を表示させ、その中身
を再びブラウザのフォーム上に呼び出し、修正・保存したいところです。
で、それをPHPのプログラムを組んで何とか実現したいと思います。
■先ずは、ファイルの一覧表示■
上にも書いたように、ブラウザ上にファイルの一覧を表示させ、そのリンクを
クリックすると、ファイルの中身がフォーム上に自動的に呼び出される、とい
うPHPプログラムを組む訳ですが、今の段階で、イキナリそれを紹介すると、あ
なたの目には非常に複雑に映り、思わす眩暈を起こしてしまうかもしれません
ので、先ずは、最初の段階として、ファイルを一覧表示させるPHPプログラムを
考えてみたいと思います。
ここでは、今まで扱っていなかった「関数」というものが、新たにいくつか出
てきます。
イロイロ前置きを言っても仕方がないので、まずは、結論となるPHPプログラム
の紹介です。
(あくまでも一例です)
これも、ごく短いPHPプログラムですが、こんな感じです。
-------------------------------------------
<?php
$dir_file = opendir( './' );
while( $file_name = readdir( $dir_file ) ){
print "{$file_name}<br>";
}
closedir( $dir_file );
?>
-------------------------------------------
これを「105-1.php」というファイル名で、「C:\Inetpub\wwwroot\php」フォル
ダに保存します。
そして、ブラウザのアドレス欄に、「http://localhost/php/105-1.php」と入
力すると、見事に?そのフォルダに保存してあるファイルの一覧がブラウザに
表示されると思います。
上のPHPプログラムは非常に単純なものですが、ず〜〜〜〜〜〜〜と前にお話し
たことのあるPHP構文と、いくつかの新しい関数があります。
それについて、説明したいと思いますが、それをこれからお話するとなると、
また、異常に長くなってしまいますので、これについては、次回に、というこ
とでご勘弁いただきたいと思います。
それでは、次回に続く。。。