4

プロジェクトでは、ファイルアップロードシステムを実装しています。ユーザー アカウントごとに、スクリプトで異なるサブフォルダーを作成したいと考えています。user_id としましょう。

ユーザーが追加されるたびに、システムはユーザー自身のアップロード用に新しいサブフォルダーを作成します。例えば:

アップロード/ - user1 - user2 - user3

mkdir('Uploads/'.$user_id, 0777); を実行することにより 新しいサブフォルダーが作成されます。すべて順調。

ただし、私のアプリケーションはこのフォルダーに書き込むことができません。必要なファイル許可を持つディレクトリをphpに作成させるにはどうすればよいですか? chmod を使用してみましたが、成功しませんでした。

4

2 に答える 2

2

これはchmodmkdirに役立つかもしれません

$dirMode = 0777;
mkdir($directory, $dirMode, true);

// chmod the directory since it doesn't seem to work on recursive paths
chmod($directory, $dirMode);

mkdir の場合、モードは Windows では無視されます。デフォルトは 0777 です。3 番目のパラメータは再帰的で、パス名で指定されたネストされたディレクトリを作成できます。

于 2012-09-04T16:58:18.400 に答える
0

指定されたものとは別のモードでディレクトリが作成されることがあります (0777 ではなく 0755 など)。その使用を解決するには:

<?php 
$old = umask(0); 
mkdir($dir,0777); 
umask($old); 
?>
于 2012-09-04T16:53:57.857 に答える