- ベストアンサー
PHPのオープン処理でテキストファイルから読み込ん
PHPのオープン処理でテキストファイルから読み込んだ値をリストボックスにセットしたいです。どこかにサンプルになるプログラムはありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
適当に組んでみました。 要は、テキストファイルに あああ いいい ううう とあったなら、それを読み込んで <select name="select1"> <option value="あああ">あああ</option> <option value="いいい">いいい</option> <option value="ううう">ううう</option> </select> みたいなHTMLにして出力してやれば、ブラウザ上でリストボックスとして表示できるわけです。 読み書きするファイルは、'./' というカレントディレクトリ指定にすると、phpファイルと同じディレクトリに用意すれば良くなります。 ただしそうした場合、http://サーバ名/fruits.txt といったURLで、テキストファイルの中身を直接表示することもできてしまいます。(ファイル名がバレた場合) その様に読み書きするファイルをWeb公開フォルダに置くかどうか、プログラマ次第。 見られて困るファイルは、絶対パス指定をして、http:// でアクセスできないところに置くことも可能です。 ※文字コードはUTF-8で保存すること ---- sample.php ---- <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> fopen test </title> </head> <body> <form> <?php $filename = './fruits.txt'; if (is_readable($filename) === TRUE) { if (($fp=fopen($filename,'r')) !== FALSE) { echo '<select name="fruit">'; while(($fruit = fgets($fp)) !==FALSE) { $fruit = str_replace(array("\r", "\n"), '', $fruit); $fruit = htmlspecialchars($fruit,ENT_QUOTES,'UTF-8'); echo '<option value="', $fruit, '">', $fruit, '</option>'; } echo '</select>'; fclose($fp); } } ?> </form> </body> </html> ---- fruits.txt ---- オレンジ グレープフルーツ パイナップル
お礼
ありがとうございます^_^