2011-01-12 27 views
0

chown -R www-data:www-data /srv/www/dev.example.com/public_html/uploads/が動作しませんでした 試したchmod 777は動作しませんでした。ファイルは削除されません

は、ユーザーフォルダを削除していません(これは、アカウントを削除するときにすべてのファイルを消去するために実行されます)。 も(ただ1枚の写真を削除するには)

$RemovePreview = UPLOADPATH . $userId. '/' . $file . '_preview.' . $image_ending; 
         if (file_exists($RemovePreview)) 
         { 
          @unlink($RemovePreview); 
         } 

ファイルとimage_endingは私のデータベースから来ています。また、ファイルを削除しません。

私は実際に何が分かっていません。これがPHP、サーバー、または両方の問題であるかどうかは不明ですか?

+1

"動作しませんでした"というのは、PHPから返ってくる奇妙なエラーメッセージです。それは本当にそれが言ったものですか? – Gareth

+0

エラーはありません。たぶんerror.logファイルthoの。私は見に行きます。 – Keverw

答えて

1

ディレクトリが空ですか? Documentation to rmdirは、ディレクトリが空である必要があることを示します。あなたが所有していないファイルやディレクトリ上でchownコマンドまたはchmodコマンドをしようとすると、

function rrmdir($dir) 
{ 
    if (is_dir($dir)) { 
     $objects = scandir($dir); 
     foreach ($objects as $object) { 
      if ($object != "." && $object != "..") { 
       if (filetype($dir."/".$object) == "dir") 
        rrmdir($dir."/".$object); 
       else 
        unlink($dir."/".$object); 
      } 
     } 
     reset($objects); 
     rmdir($dir); 
    } 
} 
+0

Sucks 'rmdir()'は 'mkdir()'のように再帰的な引数を持っていませんでした。 – alex

+0

ありがとう!私はリンクが機能していない理由を知りました。まあそれは働いていた。私は私のホスティングプランでCDNを追加したことを忘れていました。画像はサーバー上で削除されましたが、閲覧したときにはそのように表示されました。 CDNのキャッシュをパージして、イメージが表示されませんでした。私の古いサーバーはこれをしなかったので、私はそれに慣れていませんでした。だから、私はフォルダ全体を削除するには、その関数で何をします。両方の問題が解決されました! – Keverw

+0

それはあなたのために働いてうれしい。 –

0

使用sudoを:どのようなあなたが探しているかもしれないことは、rmdirの再帰バージョンです。

+0

私はいつもrootを使っていますが、ありがとうございます。 – Keverw

関連する問題