Автор Тема: не могу доделать скрипт по поиску папок по дате (PHP)  (Прочитано 2581 раз)

16 Апрель, 2016, 16:13:57

Оффлайн DimkaG

  • Школьник
  • *
  • Сообщений: 1
  • Репутация: 0
  • OS: Windows NT 10.0 Windows NT 10.0
  • Browser: Mozilla compatible Mozilla compatible
    • Просмотр профиля
Всем привет.
Сделали мне скрипт по поиску и удалению папок и файлов по заданной дате на сервере, но не довели до ума, а конкретно нужно чтобы поиск и удаление происходило не только в текущей папке, а ещё и ВНУТРИ её подпапок. Пример:

 ПАПКА 1
-- ПОДПАПКА2
-- ПОДПАПКА3
-- ПОДПАПКА4


Сейчас происходит удаление только внутри ПАПКА1 а подпапки и внутри них файлы не удаляются и не проверяются.. помогите доделать..


 


<?


function removeDir ($dir)


{ $d=opendir($dir); 


while(($entry=readdir($d))!==false) {


if ($entry != "." && $entry != "..") {


if (is_dir($dir."/".$entry)) {  removeDir($dir."/".$entry);  }


else {  unlink ($dir."/".$entry);  } } }


closedir($d); 


rmdir ($dir); 


}


 


$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) {


if(strtotime($data1)<=strtotime(date ("d.m.Y", filemtime($filename))) & (strtotime($data2)>=strtotime(date ("d.m.Y", filemtime($filename))))){


$outpu.="$filename размер " . round(filesize($filename)/1024,3)." Кб  Дата ". date ("d.m.Y", filemtime($filename))."\n";


$vsego+=round(filesize($filename)/1024,3);


unlink($filename);


}}   


}else{


foreach (glob(__DIR__.$put."*.") as $filename) {


if(strtotime($data1)<=strtotime(date ("d.m.Y", filemtime($filename))) & (strtotime($data2)>=strtotime(date ("d.m.Y", filemtime($filename))))){


$outpu.="$filename размер " . round(filesize($filename)/1024,3)." Кб Дата ". date ("d.m.Y", filemtime($filename))."\n";


$vsego+=round(filesize($filename)/1024,3);


unlink($filename);


}


}}}


 


if($folder=='true'){


foreach (glob(__DIR__.$put) as $filename) {


if(strtotime($data1)<=strtotime(date ("d.m.Y", filemtime($filename))) & (strtotime($data2)>=strtotime(date ("d.m.Y", filemtime($filename))))){


$outpu.="$filename размер " . round(filesize($filename)/1024,3)." Кб Дата ". date ("d.m.Y", filemtime($filename))."\n";


$vsego+=round(filesize($filename)/1024,3);


removeDir($filename);


}





}


if( $outpu>''){


file_put_contents('log.txt', $outpu."\n Всего удалено ".$vsego."Kb", FILE_APPEND);}


}}


?>


<!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>


 

Форум вебмастеров - Webmasters.BY