PHP上でディレクトリを作成したりファイルをアップロードした場合、FTP上からそのファイルやディレクトリを削除出来ない場合があります。


「所有者」の欄を見ると、「apache」になっており、FTP接続時の接続名と異なるから削除出来ないのだと思いますが、こういうケースを避ける為に、どのようにしてPHP上からファイルアップロードやディレクトリ作成をすればいいのでしょうか?

ディレクトリ作成時は
mkdir($dir_name,0777);
としているだけです。

確認したFTPソフトはFFFTPです。
現在テストしているレンタルサーバの仕様は、Apache2.0.52、PHP4.3.9

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/19 20:19:13
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント60pt

PHP: umask - Manual

方向性はあってるので、たぶん umask が設定されているのだと。

>|php|

umask(0);

mkdir($dir_name,0777);

||<

とすればいいかもしれない。

id:kt26

mkdirの前にumask(0)を入れると、FTP上から削除出来ました。

ずっと悩んでいたのですが、これが原因だったのですね。ありがとうございました。

2008/02/19 20:18:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません