• 締切済み

fopenでパーミッションエラー

fopenでパーミッションエラーが出ます。 fopen("../news.htm", "w"); Warning: fopen(../news.htm): failed to open stream: 許可がありません。 fopen("./news.htm", "w"); fopen("../map/news.htm", "w");# mapディレクトリを757にしてOK 上記はOKでした。 ディレクトリ構成は /public_html/sample/mag/test.php # fopenをするファイル sampleを757にしてもエラーが出ました。 fopenで一つ上のディレクトリにファイルを書き込むことは出来ないのでしょうか?

  • kaz33
  • お礼率64% (25/39)
  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • randman
  • ベストアンサー率51% (17/33)
回答No.1

・おっしゃるとおり、ディレクトリのパーミッション関係のエラーだと思います。ので、開くファイルの入っているディレクトリのパーミッションを変えてやれば良いのではないかと。 ・で、もうひとつ、 「/public_html/sample/mag/test.php」って、 「/public_html/sample/map/test.php」ですよね? コードは大丈夫ですか?基本的なタイプミスとか…。 なんにせよ、「mapディレクトリを757にしてOK」なら、できるはず。

kaz33
質問者

補足

一日放置してたらできるようになりました・・・ 原因不明です・・・

関連するQ&A

  • fopenでファイルがオープンできません

    $fp = fopen(TEST_FILE, "w") としてオープンしようとすると Warning: fopen(mybasic9.txt): failed to open stream: No such file or directory と、オープンしようとしたファイルがない、と出ます そして、そのファイルをあらかじめ作っておくと OKです。 しかし fopen(TEST_FILE, "w") は該当ファイルがあればそれをオープンし 無ければ、新しく作成する、とFopenの仕様に出ています。 これは、今使っているサーバーの問題でしょうか 何か、避ける方法はないでしょうか よろしくお願いします

    • 締切済み
    • PHP
  • Permission denied in

    PHPを実行するとWarning: fopen failed to open stream Permission denied inと 表示されてしまいます。 インターネットを使い、調べてはいますが、 上記のように表示してしまいます。 ファイルです。パーミッションは606にしました。 このWarningを表示させないようにするには、どのようにすれば 良いのか教えて頂けると嬉しいです。

    • ベストアンサー
    • PHP
  • 各パーミッションの詳細について

    こんばんは。 今回、システムの移行を担当することになりました。(Solaris→HP-UX) 前システムではパーミッションの設定値が同じであるべきファイルやディレクトリのパーミッションがバラバラであったりしていたため、 新システムではこのディレクトリはこのパーミッション、このファイルはこのパーミッション、と綺麗に揃えたいということになりました。 ただ、どういうファイルをどういう設定にしてあげれば良いのか、 各パーミッションでどのような振る舞いをするかが分からないため、判断に困っています。 各パーミッションにおいて、それぞれどのようなことができるのか、使い方、特殊な使い方、こういうファイルにはこういうパーミッションを設定してあげる、など、細かいことを知りたいです。 ファイルの rwx(7) rw-(6) r-x(5) r--(4) -wx(3) -w-(2) --x(1) ---(0) の各場合と ディレクトリの、 rwx(7) rw-(6) r-x(5) r--(4) -wx(3) -w-(2) --x(1) ---(0) の各場合を知りたいです。 検索しましたが全てのパターンにおいて網羅されて書かれているようなものが 見つかりませんでした。 所有者・グループ・その他、での組み合わせも考えなければならないと思いますが、 まずは単一でパーミッション0~7について詳細に知りたいです。 お願い致します。

  • サーバー上にディレクトリを作成したいがパーミッションエラー…。

    フォームに入力した情報をもとに、 サーバー上にディレクトリを作成したいのですが、 Warning: mkdir(作成したいディレクトリ名): Permission denied in ~ というエラーが出てしまい、ディレクトリを作成できません;; 原因はなんなんでしょうか? どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • Apacheのパーミッション

    Ubuntu9.04でApacheのホームページ作成をしています。 public_htmlディレクトリの中に、htmlファイルをおいて http://サーバー名/~ユーザー名/public_html/ファイル名 と入力してもNot Fonudという結果です。 これはパーミッションの問題なのではと 自分は考えているのですが、設定方法がわかりません。 パーミッションをどのように変えればよいか。 または他にこんな問題があるのではないか。 という意見ありましたら、教えてください。

  • chmodでパーミッションを変更する権限がないエラー・・・?

    レンタルサーバ「ロリポップ」を使用しています。 chmod命令で、ディレクトリやファイルのパーミッションを変更するプログラムを書きました。 chmodr($filename,0700); そうすると以下のようなエラーが表示されます。 Warning: chmod() [function.chmod]: Operation not permitted パーミッションを変更する権限がないために発生していると思うのですが、どうすればプログラムからパーミッションを変更することができるのでしょうか? ちなみにperlでは可能でした。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • fopenが動作しない

    PHPで、別のファイルで取得したファイル名をもとに fopenを使ってファイルを開こうとしているのですが、 どうしてもうまくいきません。 具体的な症状は以下のとおりです。 a.phpの中で、 … $file[2] = "hoge02.xml"; … のように、配列にファイル名を代入します。 これを b.php で require_once('a.php'); とした後 print_r($file); とすると Array([0] => … [2] => "hoge02.xml" [3]…) のように表示されるところまでは確認できました。 しかし、 $file0 = $file[2]; $fp = fopen("$file0", 'r'); とすると Warning: fopen( "hoge02.xml" ) [function.fopen]: failed to open stream: Invalid argument in [b.php の絶対アドレス] とエラーが出てしまい、実行することが出来ません。 そこで、 //$file0 = $file[2]; $file0 = "hoge02.xml"; $fp = fopen("$file0",'r'); とすると実行することが出来ました。 作成しているシステム上、fopenの1つ目の引数には変数または配列を使いたいのですが、 エラーが発生してどうしてもうまくいきません。 自分なりにも似たようなエラーがないか調べたのですが、 それらしいものを見つけることが出来ず、お手上げ状態です。 どなたか解決策をご存じないでしょうか。 ご教授の程、よろしくお願い致します。

    • 締切済み
    • PHP
  • fopenでエラーとなる

    fopenを使用してログファイルへ書き込み時に、errno=13 Permission denied のエラーがまれに発生するときがあります。 ログファイルは、1ログを書く毎に、その都度、オープン/クローズしています。fopenの第二引数は"a+t"を指定しています。(テキストモード追加書き込み。+を指定している理由は、更新は行いませんが、Ctrl-Zの削除の為、+を指定することがマイクロソフトにより推奨されているため) もちろん、このログファイル(ディレクトリ含む)への書き込み権限がないということは、ありません。(あれば必ず発生しますので) 従って一時的に、書き込み不能となる状態が発生していると考えられます。エラーが発生した後も、一定の時間が経過した後には書き込めるようになります。 このような事象に遭遇したことのあるかたが、おりましたら、その旨回答下さい。又、解決方法(このような事態をさける方法)をご存じのかたがおりましたら、教えて下さい。 実行環境 Windows2003-server 開発環境 Visual Studio .NET 2003のC++による開発(コードの内容は実質的にC言語を使用、MFCは使用していません)

  • パーミッションの3桁目を6にせずにファイルを作る

    $fp = fopen( "a.html", "w" ); fputs( $fp,$buffer); fclose( $fp); (一部省略) このようなプログラムで、すでにあるa.htmlの内容を少し変化させて新しいa.htmlページを作っていきたいのですが、サーバーで試したところ、パーミッションに関するエラーが出ました。 644だったパーミッションの3桁目を6(646など)にするとファイルを作ることができました。 しかし、3桁目を6にするとセキュリティ上危険だそうで、そうしたくありません。 3桁目を6にせずにファイルを作る良いアイデアはありませんでしょうか? htmlを自動生成している人はパーミッションの3桁目を6にしているのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • fopenでURL内容の取得のエラー

    fopen(<URLを指定>,'r'); としたときにエラーが発生してしまいます。 この現象は環境によって出る場合と出ない場合があります。 以下はいずれもphpinfo()で取得したPHPとApacheのバージョンです。 <エラーが出ない環境> PHP Version 4.2.3 Apache/1.3.27 <エラーが出る環境> PHP Version 4.3.9 Apache/1.3.31 (Win32) PHP/4.3.9 エラーメッセージは以下のようなものです。 Warning: fopen(<ここにアクセスしたURLが表示>): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in <エラーが出ているプログラムと、fopen()の行が表示> よろしくお願い致します。

    • 締切済み
    • PHP