• ベストアンサー

PHP初心者です、教えていただけすか。

/public_html /test のtest.txtの文字列をtest.phpで表示させたいのですが、 下記の文では表示されません、どこがおかしいのか教えてください。 <?php $fp = fopen ('test.txt', 'w'); $date = "test\n"; var_dump (fwrite($fp, $date)); fclose ($fp); ?>

質問者が選んだベストアンサー

  • ベストアンサー
noname#6562
noname#6562
回答No.5

こんにちわ。 PHPのバージョンが4.3.0以上であれば、 <?php // このスクリプトと text.txt が同じディレクトリにあることを想定しています: // /.../public_html/test/test.php このスクリプト // /.../public_html/test/test.txt 読みたいファイル // ちなみにその場合 './test.txt' とも指定できます。 $my_file = file_get_contents('test.txt') echo $my_file; ?> が一番早いですよ。file_get_contents() は指定されたファイルの中身を全てひとつの変数(上の例では$my_fileです)に入れてくれます。だからあとはそれをecho(またはprint)するだけです。 ちなみに、質問にお答えすると、fwrite()では書いたファイルの中身を取得することは出来ません(取得できるのは書いたバイト数です)。ファイルの中身を読み込むためにはfread()を使用します。また、読むだけであれば、'w'ではなく'r'を使用してfopen()します(詳細は参考URLまたは各文献にて)。 余談になりますがプログラミング初心者でもPHP初心者でもどちらでもかまわないと思いました。

参考URL:
http://jp.php.net/fread
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • umioyo
  • ベストアンサー率66% (35/53)
回答No.4

読み込み方は下の皆さんの書き方でいいとして、 > /public_html > /test > のtest.txtの文字列を ってのが気になったのですが、 /public_html/test/test.txt のファイルを表示させたいということでしょうか。 test.phpの位置が /public_html/test.php であれば、 fopen('text/test.txt','r'); になります。 一応念のため。

すると、全ての回答が全文表示されます。
  • sisya
  • ベストアンサー率39% (97/244)
回答No.3

PHP初心者と言うより プログラム初心者の方とお見受けしますが、 PHPに限っての使用でしたら $vData = file('test.txt'); print implode("", $vData); と言った書き方もあります。 始めの内はファイル制御の概念は判りづらいと思いますので、 読み込むだけでしたらこちらの書き方をお勧めします。 (ただ、覚えておいて損は無いです) 例に上げられた書き方は ファイルの内容を細かく制御する必要がある時以外 実践ではあまり使い道が無いように思います。 (C言語の名残的意味合いもあるのでしょうけどね)

すると、全ての回答が全文表示されます。
  • nessnet
  • ベストアンサー率23% (4/17)
回答No.2

表示のみの場合は下の方もおっしゃってますが、 fopen('text','r'); です。wで開くと中身が全部カラになってしまうので表示されないのではないでしょうか。

すると、全ての回答が全文表示されます。
  • Miki3548
  • ベストアンサー率24% (22/89)
回答No.1

>表示させたいのですが、 >$fp = fopen ('test.txt', 'w'); 'w' は書き込み専用モードで開く なので 'r' かな?

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k03.htm
すると、全ての回答が全文表示されます。

関連するQ&A