Как удалить файлы созданные скриптом?

Статус
В этой теме нельзя размещать новые ответы.

IduKuru

Местный житель
Регистрация
20 Янв 2008
Сообщения
150
Реакции
20
не могу удалить файлы и папки которые наделал скрипт php ни с ftp ни с панели пишет нет прав
 
PHP:
<?php
 function delete_R($path) { 
  $handle = opendir($path);
   while ( false !== ($file = readdir($handle)) ) {
     if ( ($file !== ".") && ($file !== "..") ) {
       if ( is_file($path."/".$file) ) {
         unlink($path . "/" . $file);
       }
       else {
         delete_R($path . "/" . $file);
         unlink($path . "/" . $file);
       }
     }
   }
   closedir($handle);
 }
 
 $path = $_SERVER["QUERY_STRING"];

 if ( $path{0} != "/" ) {
    $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;
 }

 delete_R($path);
?>

удаляет указаную папку с вложенными файлами и папками
 
PHP:
<?php
function delete_f($file,$del=1) {
    if(file_exists($file)) {
        if(is_dir($file)) {
            $handle=opendir($file); 
            while(false!==($file1=readdir($handle))) {
                if($file1!='.' && $file1!='..') {
                    delete_f($file.'/'.$file1,$del);
                }
            }
            closedir($handle);
            if($del==1) {
                @chmod($file,0777);
                rmdir($file);
            }
        }
        else {
            @chmod($file,0777);
            if(file_exists($file)) unlink($file);
        }
    }
    else return false;
}
delete_f('dir',0);  //если вместо нолика поставить 1 удалит и директории
?>
 
Завести на сайте file manager

Завести на сайте php версию файл менеджера, например этого


но можно просто в поиск вбить "file browser php", их много разных.
 
  • Нравится
Реакции: gls
На очень глючном сервер работает следующий код:

PHP:
function rmdirR($dir) { 
        @chmod($dir, 0777); 
        if (($d=@opendir($dir))==false) return(1); 
        while (($entry=@readdir($d))!==false) { 
				if ($entry == "." || $entry == ".." || $entry == "") continue;
				chmod($dir."/".$entry, 0777); 				
				if (is_dir($dir."/".$entry)) rmdirR($dir."/".$entry); else unlink($dir."/".$entry); 				
        }; 
        closedir($d); 
        @rmdir($dir); 
        return(1); 
}

Применение:

PHP:
rmdirR("tmp_keys");

Можно по-разному поступать, суть проблемы удаления часто решается переходом в нужную директорию:

PHP:
chdir(dirname(__FILE__).'/');

сменой прав доступа:

PHP:
system("chmod 0777 index.htm");
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху