- 締切済み
無料ホームページの鯖でPHPでfwrite出来ない
無料ホームページのサーバに"php"というフォルダをアップし、その中に"write.php", "text.txt","read.php"というファイルを作って実行させたのですが、 "write.php"で、 $file = "text.txt"; $fp = fopen($file, "w"); if ($fp == FALSE) { print "ファイルオープン失敗<br />"; } else { fwrite($fp, $text); fclose($fp); } を実行しても"text.txt"の内容が変わらない(空のまま)のですが、何がいけないのでしょうか? "text.php"のパーミッションは666で、"php"フォルダは707です。 考えられる原因をご教授下さい、お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 1minn
- ベストアンサー率57% (52/90)
回答No.3
パーミッションをいじる事ができるのならすべて777で試されてみては? パーミッションは・・・ って提示されているのはこれであってるかが不安だからって事ですよね? 考えられる原因をつぶしていけば答えにたどり着けますよ。
- emoemoemosan
- ベストアンサー率54% (20/37)
回答No.2
以下2点、確認されてみてはいかがでしょうか。 ・書き込む直前で$textをダンプしてみる。 ・fwriteの返り値がちゃんとバイト数になってるかダンプしてみる。
- shimix
- ベストアンサー率54% (865/1590)
回答No.1
test.txtを削除してから実行して空のtest.txtが作成されるようであれば、スクリプト自体は問題なく動作していると思います。 >fwrite($fp, $text); 提示されたソースでは「空のファイルしか出来ないだろう」としか言えません。∵ $textが空としか思えないからです。
補足
"text.txt"が無い状態でやっても、作成してくれません。 ここでは省略しましたが、 $text = $_POST["text"] と、HTMLのformタグで渡したパラメータを格納しております。 引き続きお力をお貸し下さい;;