Ответов: 6 Просмотров: 1697
|
Все привет.
Сделали мне скрипт по поиску и удалению папок и файлов по заданной дате на сервере, но не довели до ума, а конкретно нужно чтобы поиск и удаление происходило не только в текущей папке, а ещё и ВНУТРИ её подпапок. Пример
ПАПКА 1
-- ПОДПАПКА2
-- ПОДПАПКА3
-- ПОДПАПКА4
Сейчас происходит удаление только внутри ПАПКА1 а подпапки и внутри них файлы не удаляются и не проверяются.. помогите доделать..
PHP:
скопировать код в буфер обмена
<? function removeDir ($dir) while(($entry=readdir($d))!==false) { if ($entry != "." && $entry != "..") { if (is_dir($dir."/".$entry)) { removeDir ($dir."/".$entry); } else { unlink ($dir."/".$entry); } } } } $data1=''; $data2=''; $file=''; $mask=''; $put=''; $folder=''; $fileche=''; $folderche=''; $outpu=''; $vsego=0; if($_GET['file']=='true'){$fileche='checked="checked"';}else{$fileche='';} if($_GET['folder']=='true'){$folderche='checked="checked"';}else{$folderche='';} if (!empty($_GET['dataout']) & !empty($_GET['file']) & !empty($_GET['folder'])){ if($_GET['file']=='true' | $_GET['folder']=='true'){ $put=$_GET['put']; if (trim($_GET['datain'])>''){$data1=$_GET["datain"];} else {$data1='2.2.2000';} if (trim($_GET['folder'])=='true' ){$mask='';}else{$mask=$_GET["mask"];} $data2=$_GET["dataout"];$file=$_GET["file"];$folder=$_GET["folder"]; if($file=='true'){ if($mask>''){ foreach (glob(__DIR__ .$put.$mask) as $filename) { }} }else{ foreach (glob(__DIR__ .$put."*.") as $filename) { } }}} if($folder=='true'){ foreach (glob(__DIR__ .$put) as $filename) { removeDir($filename); } } } if( $outpu>''){ }} ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>удалялка</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css" href="cal.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script> <script type="text/javascript" src="/cal.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#calendarin').simpleDatepicker(); // Привязать вызов календаря к полю с CSS идентификатором #calendar $('#calendarout').simpleDatepicker(); // Привязать вызов календаря к полю с CSS идентификатором #calendar }); </script> </head> <body> <p style='display:inline;'>Файлы: <input type='checkbox'<?echo $fileche;?> id='fff'/></p> <p style='display:inline;'>Папки: <input type='checkbox' <?echo $folderche;?> id='ppp'/></p> </br></br> <p style='display:inline;'>ОТ <input id="calendarin" placeholder="01.01.2000" name="date" value="<?echo $data1;?>" type="text"/></p> <p style='display:inline;'>- ДО <input id="calendarout" placeholder="10.12.2016" name="date" value="<?echo $data2;?>" type="text"/></p> </br></br> <p style='display:inline;'>Расширение <input id="mask" value="<?echo $mask;?>" placeholder="*.jpg" type="text"/></p> </br></br> <p style='display:inline;'>Путь <?echo __DIR__;?><input id="put" name="date" placeholder="/myfolder/" value="<?echo $put;?>" type="text"/></p> </br></br> <input id="send" value="Удалить" type="button"/> </br></br> <textarea style='display:inline;width:100%;height:200px;' id='cnsl1'><?echo $outpu."\nВсего удалено ".$vsego."Kb";?></textarea> </body> </html> <script> if(document.getElementById("ppp").checked){ $("#mask").attr("disabled",true);}else{ $("#mask").removeAttr("disabled");} $('#ppp').click(function(){if(this.checked){ $("#mask").attr("disabled",true);}else{ $("#mask").removeAttr("disabled");}}) $('#send').click(function(){ a1=document.getElementById("fff").checked; a2=document.getElementById("ppp").checked; a3=document.getElementById("mask").value; a4=document.getElementById("put").value; b1=document.getElementById("calendarin").value; b2=document.getElementById("calendarout").value; if (confirm("Вы уверены?")) { document.location.href='?file='+a1+'&folder='+a2+'&mask='+a3+'&put='+a4+"&datain="+b1+"&dataout="+b2; } }) </script>
|