PC Memo

ロリポップなどのサーバーで所有者がApacheなどになってしまいFTPで削除できないファイル・フォルダを削除する方法

所有者ApacheになってFTPから消せないファイルの削除

フォルダの中を再帰的に削除するPHPスクリプト
ロリポップなどのレンタルサーバーでPHPまたは、Perlなどのサーバーサイドのプログラムからフォルダ・ファイルを生成すると
所有者「Apache」または、「root」、「admin」となってしまいFTPからアクセスできなくなってしまうことがある。
※以下、所有者「Apache」として説明
理由は、FTPのアカウントとPHPのアカウント違うがphpスクリプトから削除する方法をメモしておきます。

例えば、 /access フォルダを削除するには、rmDirectoryの引数を次のようにする。(ロリポップの場合)

sub.jp4rmt は、ユーザーによって異なるので環境によって書き換えること。

/home/sites/lolipop.jp/users/sub.jp4rmt/web/access

このスクリプトを適当なところにアップロードしてブラウザから実行すれば、
所有者Apacheで消えないファイルやフォルダを削除することができる。

※使い終わったら安全上の理由からもスクリプトは、削除しておいたほうが良いです。

--

フォルダの中を再帰的に削除するPHPスクリプト

umask(0);
rmDirectory('/home/sites/lolipop.jp/users/sub.jp4rmt/web/access');
function rmDirectory($dir){
     chmod($dir,0777);
     if ($handle = opendir("$dir")){
          while (false !== ($item = readdir($handle))){
               chmod("$dir/$item",0777);
               if ($item != "." && $item != ".."){
                    if (is_dir("$dir/$item")){
                         rmDirectory("$dir/$item");
                    }else{
                         unlink("$dir/$item");
                    }
               }
          }
          closedir($handle);
          rmdir($dir);
     }
}
次のドキュメント:[Perl]HTML::TreeBuilder - 文字コードを解決せよ 前のドキュメント:Webサイトに記事作成機能を付ける方法
印刷用ページとして表示しています。
このページを印刷するには、ここをクリックしてください。
通常の表示に戻るには、ブラウザの更新ボタンかF5キーを押してください。
このドキュメントへのトラックバック 

コメント

名前
Webサイト、ブログのURL
コメント
投稿する内容をよく確認して送信して下さい。
コメントは、まだありません。

トラックバック

トラックバックURL
コメント
トラックバックURLと内容をよく確認して送信して下さい。
トラックバックは、まだありません。

Valid XHTML 1.0 Transitional HTML lint 正当なCSSです! CSS Validation Service ページを編集 アクセス情報
サイト情報(連絡先・リンクについて) (C)2007-2008 PC Memo ALL Rights Reserved. 今日:5 総合:5
トップページ   プリントアウト   検索: メニューを表示