2009-08-01 20 views
0

localhost(Windows)上でうまく動作するアップロードファイルに取り組んでいますが、自分のlinuxサーバで動作しません。私はそれをファイルのある場所からサブディレクトリ '/ files'に移動したい。PHP関数move_uploaded_fileは私のオンラインサーバでは動作しませんが、localhost上で動作します

それがエラーを与える: 警告:move_uploaded_file(/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/6)[function.moveアップロードファイルは]:ストリームをオープンに失敗しました:アクセス許可が拒否された中で/ホーム/ taalhulp /ドメイン/ taalhulpmanager.nl/public_htmlの/ Gegev_Dossier.phpライン上の66

警告:move_uploaded_file()[function.moveアップロードファイル]: '/ tmpに/ phpFMaeAs' から「/ホームを移動することができませんここで

ライン66上の/home/taalhulp/domains/taalhulpmanager.nl/public_html/Gegev_Dossier.phpで/taalhulp/domains/taalhulpmanager.nl/public_html/files/6' は私のコードの簡易版である

$FotoMap = '/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/' ; 

if ($_POST['type'] == 'add' & strlen($_FILES['FileUpload']['name']) > 0 && strlen($_POST["GivenFileName"]) > 0) 
{ 
    if (move_uploaded_file($_FILES['FileUpload']['tmp_name'], $FotoMap . $file_name_id)) 
    { 
       $_SESSION['echo'] = 'succes'; 

    } 
    else 
    { 
       $_SESSION['echo'] = 'fail'; 
    } 
} 

許可が拒否されましたが、私は何かが間違っているか、または私にプロバイダに連絡して有効にするように指示する必要があると言います。

+0

重複http://stackoverflow.com/questions/1217022/php-rmdir-permission-denied/1217038#1217038 –

答えて

3

/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/のアクセス許可が0777に設定されていることを確認してください。

これはセキュリティ上の問題が発生するため、お勧めしません。スクリプトが実行されているユーザーまたはグループを特定し、代わりにそのユーザーが所有するディレクトリを変更する方がよいでしょう。

+0

最初の提案は一切言及していない方が良いと思います。あなたの2番目のポイントは遠くに優先されます。 –

+0

** @ Dana the Sane:**最初の点は完全性のためです。 –

+0

そして、2番目の点は、* nixのアクセス許可の仕組みを理解していない人や、ファイルの所有者を変更する権限がない人にとっては手に届かないことがあります。 –

0

おそらく、一時的なアップロードのためのディレクトリにアクセスするためのアクセス許可(PHPエンジン/ Apache Webサーバ)がありません。カスタムの一時パスを設定しようとします。

+0

「カスタムの一時パスを設定してください。」どうやって? – matthy

+0

php.iniを編集できる場合は、それを行います。そうでない場合は、ini_set()によって値を変更しようとしてください – dusoft

+0

** @ dusoft:**ここでは/ tmpディレクトリが問題ではないと思います。エラーメッセージは、 '/ tmp'に何の問題もなく書いたことを示しています。 '+ w + x'を持たないファイルを移動するディレクトリです。 –

関連する問題