2011-02-08 4 views
2

私はアップロードを受け取るPHPスクリプトを持っていて、それはmampでうまく動作し、ディレクトリを作成し、必要に応じてファイルを受信しますが、サーバーに移動すると、それもできないというエラーが出力されます。ディレクトリを作成してファイルを作成する権限をPHPに設定するにはどうすればよいですか?

[編集] 明確にするために、スクリプトはファイルを受け取り、保存する前にそのファイルのディレクトリを作成する必要があります。だから、擬似コードは...

$path = getNewPath(); 
mkdir("./$path", RECURSIVE); 
fwrite($path/$newFile); 

私はApacheにファイルをchownedし、777パーミッションを与えても、サイコロは与えませんでした。私はこれを指定するいくつかのPHPの設定が必要であると仮定していますが、それがどこであるか把握することはできません。 httpd.confは時間がかかり、スキミングして、関連するものは表示されません。

私は明らかに何かが不足していると確信していますが、それが何であるか把握できません。

TIA

+1

あなたのサーバーはどのOSで動作していますか? – Ibrahim

答えて

1

スクリプトは、インスタンスをhttpdocs /アップロード/またはどこでもあなたがこれらのファイルを格納しているため、そう、サブディレクトリを作成するために、親ディレクトリへの書き込み777親ディレクトリをchmodのことができなければなりません。

1

をchownやchmodの777スクリプトを書く(作成)したいディレクトリのファイルおよびNOTスクリプト自体。

+0

スクリプトはそれらのディレクトリを作成する必要がありますので、事前にchownまたはpre-chmodすることはできません –

+1

サブディレクトリを作成するためにスクリプトが親ディレクトリに書き込むことができる必要がありますので、chmod 777は親ですディレクトリ(例えば、httpdocs/uploads /またはこれらのファイルを保存している場所)。また、どんなエラーが出ていますか?存在しない場合は、スクリプトに 'error_reporting(E_ALL)'を追加してください。 safe_modeの制限エラーが表示されますか? – Rob

+0

@dredelしかし、最初にウェブルートのディレクトリを(再帰的に)chmodしてから、urスクリプトがそれらのディレクトリとファイルを作成できるはずです。さらに、作成されたファイルとディレクトリに対してスクリプトで 'chmod'と' chown'を使用します。 –

0
chmod("/somedir/somefile", 0777);