유틸리티, 정보/WEB TIP

ftp에 삭제되지않는 파일이나 폴더를 삭제하는 방법

romeo1052 2016. 3. 2. 21:09
반응형
<?php
// 첫번째 행 $dir="./files/" 에 자신이 삭제하고자 하는 폴더를 경로와 함께 써 넣는다//
$dir="삭제하려는 폴더경로";
function delete_dir($path) {
  @chmod($path,0777);
  $directory = dir($path);
  while($entry = $directory->read()) {
    if ($entry != "." && $entry != "..") {
      if (is_dir($path."/".$entry)) {
        delete_dir($path."/".$entry);
      } else {
        @chmod($path."/".$entry,0777);
        @UnLink ($path."/".$entry);
      }
    }
  }
  $directory->close();
  @rmdir($path);
}
delete_dir($dir);
echo"삭제완료";
?>

복사하여 적당한 이름으로 저장후 웹에서 php 실행하시면 폴더 권한이 변경되면서

이제 ftp통해 삭제하시면 삭제 됩니다.

 

----------------------------------------------------------------------

 

아래 방법은 아래의 파일을 del.php 로 생성해서 삭제할 파일이 있는 ftp경로에 업로드 후 실행한 뒤에 ok 버튼을 누르면

주변의 파일을 모두 삭제하도록 명령하는 방법입니다.

 <?
$directory = dirname(__FILENAME__);
 
//set_time_limit(300);
function RmDirR ($dirName) {
$d = dir ($dirName);
while($entry = $d->read()) {
if ($entry != "." && $entry != "..") {
if (Is_Dir($dirName."/".$entry)) {
RmDirR($dirName."/".$entry);
echo ($dirName."/".$entry."
");
} else {
if(!strstr($dirName."/".$entry,basename(__FILENAME__))) {
UnLink ($dirName."/".$entry);
}
echo ($dirName."/".$entry."
");
}
}
}
$d->close();
RmDir ($dirName);
}
 
function checkdeldir ($dirName) {
$d = dir ($dirName);
while($entry = $d->read()) {
if ($entry != "." && $entry != "..") {
if (Is_Dir($dirName."/".$entry)) {
echo ($dirName."/".$entry."
");
} else {
echo ($dirName."/".$entry."
");
flush();
}
}
}
$d->close();
flush();
//checkdeldir($dirName);
}
 
 
if($run=='ok'){
RmDirR($directory);
} else {
checkdeldir($directory);
}
?>
위 파일을 삭제합니다..
<A HREF="<?=$PHP_SELF."?run=ok"?>">OK</A>


위 두가지 방법으로도 삭제되지 않는경우엔 서버 관리자에게 요청하는수밖에 없습니다.

 

UTF-8 서버 계정에 한글이름으로 파일이나 폴더를 생성하지 마시기 바랍니다. ㅜㅜ

 




반응형