• ベストアンサー

phpでアクセス権の設定

RedHat9 Apache1.3+PHP4.4 メールの添付ファイルをphpを使って保存しようとしています。 .qmailを使ってメールを渡し、保存するまではできたのですが、 保存されたファイルは所有者がvpopmail、アクセス権が600になってしまい、これを変更できません。 chmodは使用できないようですし、ほかに何か方法はあるでしょうか? linux、phpともにあまり詳しくありません。 宜しくお願いいたします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>chmodは使用できないようですし、 なにをもってそう思ったのでしょうか? どうやってchmodしようとしているのか? またはchmodしたときにどのようなエラーがあるのか 記述してみてはいかがですか?

kaesan
質問者

お礼

解決しました!chmodをしたあとに、書き込んだところ、755になりました。 なぜchmodした後書き込まないと変更されないのかわかりませんが、こういうものなんでしょうか? touch($file); chmod ($file, 0755); $fp = fopen($file,"a"); fseek($fp,SEEK_END); fwrite($fp,$text); fclose($fp);

kaesan
質問者

補足

回答ありがとうございます。 以下のようなコードで試してみたのですが、アクセス権は変更されていませんでしたので、chmodは出来ないものと思っていました。 <?php $text="1234"; $file = "/home/admin/htdocs/qmail/stdin.log"; $fp = fopen($file,"a"); fseek($fp,SEEK_END); fwrite($fp,$text); fclose($fp); chmod ($file, 0755); ?>

その他の回答 (1)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

ファイルを保存したプログラム上からなら、chmodの実行権限が有るはずですけど ftpアクセスやtelnetアクセスでは、phpプログラムの実行者がサイトownerになっていなければ、プログラムが保存したファイルに対しては、other権限でのアクセスとなります。 マニュアル抜粋 http://php.s3.to/man/function.chmod.html >カレントのユーザーはPHPを実行しているユーザーです。 これは普通のシェルやFTPアクセスでのユーザーとはたいて違います。

参考URL:
http://php.s3.to/man/function.chmod.html
kaesan
質問者

お礼

回答ありがとうございます。 .qmailで、画像を保存して、webから閲覧できるようにしたかったのですが、権限のせいでブラウザで表示できない状況だったのです。(所有者がvpopmailのため?) おかげさまで何とかなったようです。 ありがとうございました。

関連するQ&A