PHP超入門 (51)
■前フリ■
さて、前回、サーバーのフォルダに保存してあるファイルの一覧を表示するPH
Pプログラム「105-1.php」を紹介しました。
「105-1.php」
-------------------------------------------
<?php
$dir_file = opendir( './' );
while( $file_name = readdir( $dir_file ) ){
print "{$file_name}<br>";
}
closedir( $dir_file );
?>
-------------------------------------------
でも、このままでは、単にブラウザの画面にはファイル名が一覧表示されるだ
けで、何の役にも立たないのは前々回、お話した通りです。
できれば、このメルマガで以前、紹介したように、ファイルの内容をブラウザ
のフォーム上に呼び出し、自由に修正した後、再びサーバーのハードディスク
に保存する、ときたいところです。
さて、その時用いたのは、以下のような、PHPプログラムです。
-------------------------------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\096-2.txt","r");
$text01 = fgets($file);
fclose($file);
?>
<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>
-------------------------------------------------------------------------------
このPHPプログラムの流れを簡単にお話すると。。。
で囲まれたPHPプログラムで、サーバーのハードディスク上に保
存された文章(テキスト)ファイル「096-2.txt」の中身を取り出し、それを
変数「$text01」に読み込む
↓
次に、HTML文に、変数「$text01」を埋め込み、ブラウザのフォーム上に「0
96-2.txt」の中身を表示する
といった感じになります。
ここでは、上に紹介したPHPプログラムを何とか応用してみたいと思います。
(あくまでも一例です)
■チョット遠回りですが、少しイタズラ■
さて、チョット遠回りになるかもしれませんが、ここで、PHPプログラム
-------------------------------------------
<?php
$dir_file = opendir( './' );
while( $file_name = readdir( $dir_file ) ){
print "{$file_name}<br>";
}
closedir( $dir_file );
?>
-------------------------------------------
に、ある細工をします。
次のように
-------------------------------------------------------------------------------
<?php
$dir_file = opendir( './' );
while( $file_name = readdir( $dir_file ) ){
print "<a href='http://www.yahoo.co.jp'>"."{$file_name}"."</a>"."<br>";
}
closedir( $dir_file );
?>
-------------------------------------------------------------------------------
という具合に、「print "{$file_name}<br>";」の部分に何かを書き足します。
(大体、想像はつくと思いますが。。。)
で、これを「107-1.php」の名前で「C:\Inetpub\wwwroot\php」フォルダに保存
します。
そうして、ブラウザを立ち上げアドレス欄に「http://localhost/php/107-1.p
hp」と入力すると、初めにお話した例と異なり、各ファイル名の下にはリンク
が表示され、
それらをクリックすると、Yahoo! japanのホームページが表示されるかと思い
ます。
■次は本番の前フリ■
上記の例のようにPHPプログラムを書くと、表示されたファイル名にリンクがは
られ、そのリンクをクリックすると指定したファイル(この場合にはURL)
が表示されることが分かったかと思います。
そこで、次は、上の例を応用して、次のように書いてみるとします。
--------------------------------------------------------------------
<?php
$dir_file = opendir( './' );
while( $file_name = readdir( $dir_file ) ){
print "<a href='./107-3.php'>"."{$file_name}"."</a>"."<br>";
}
closedir( $dir_file );
?>
--------------------------------------------------------------------
これを「107-2.php」の名前で「C:\Inetpub\wwwroot\php」フォルダに保存し、
ブラウザのアドレス欄に「http://localhost/php/107-2.php」と入力すると、
上記の例のように、各ファイル名の下にはリンクが張られていることが分かり
ます。
ただ、今のままですと、「107-3.php」というファイルは作ってないので、リン
クをクリックしても、「ページが見つかりません」というエラーメッセージが
出てしまいます。
私が何で、こんなお話をしているかというと、実は、この各ファイル名に張ら
れたリンクをクリックすることにより、今はまだない「107-3.php」、すなわち
PHPプログラムでクリックしたファイルの中身を表示させるようにしたい、とい
う目論見があるからです。(マァ、あくまでも一例ですが。。。)
さて、この目論見、果たしてうまくいくのでしょうか?
書いている私自身も自信がないのですが。。。
と、いう訳で、いつものように、非常に長くなってしまったので、一応、今回
は区切りのよい、ココマデということでご容赦ください。
続きは、次号にて。。。