2011-07-06 7 views
0

私はディレクトリを作成するためにPHPを使用しています。ディレクトリが作成された後、777のchmodが与えられます。次に、ユーザがディレクトリにファイルをアップロードするための簡単なスクリプトがあります。私が持っている問題は、スクリプトを実行するとディレクトリがファイル転送を完了しないということです。しかし、私が手動でFTP経由で入って新しいディレクトリを作成し、生成されたフォルダに777を割り当てると、スクリプトは正常に動作し、ファイルが転送されます。この能力を制限しているウェブホストの設定がありますか?それともPHPスクリプトですか?ここで私は新しいディレクトリを作成し、前記コードは次のとおりです。PHPでアップロードするための新しいディレクトリを作成するのが難しい

<?php 

$thisdir = getcwd(); 
$new_dir = 'test'; 
$full_dir = $thisdir . "/" . $new_dir; 

function chk_dir($full_dir) { 
if(is_dir($full_dir)) { 
    echo 'the directory already exists'; 
} else { 
    return mkdir($full_dir); 
} 

} 
chk_dir($full_dir); 
chmod($full_dir, 0777); 
?> 

私はこのための簡単な説明がなければならない知っている、私の問題を検討していただきありがとうございます。

+0

をディレクトリがPHPで作成された場合、それはそのディレクトリに書き込み権限を持つことになり、それは所有権を持つようになります。パーミッションを設定する必要はありません。 – Tak

+0

@タク私はchmodコールを取り出してみました。そして、パーミッションは "rwxr-xr-x"に設定されています。また、ファイルはアップロードを完了しません。 – Presto

+0

これは私が使用している新しいホストと関係があることを知っています。私は別のホスティングプラットフォームで同じスクリプトをテストしたところ、うまく動作します。これについて私に彼らに尋ねるべき質問は何ですか? – Presto

答えて

0

Safe_modeがオンになっていることを確認してください。

mkdir()は所有者としてフォルダを作成しますが、これはスクリプトの所有者ではないため、スクリプトはそのファイルをそのフォルダにアップロードできませんでした。 safe_modeがオンになっている間、chmod()は動作しません。 ドク:警告をチェックするためにPHPスクリプトの先頭に次の行を追加することhttp://php.net/manual/en/features.safe-mode.php

試み:理論的には

ini_set('display_errors', '1'); 
+0

すばらしいおかげだ!私は調査し、それが事実であるかどうかを見るでしょう。 – Presto

+0

私はそれが助けて欲しい! – Mike

関連する問題