Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 16.04.2016
Сообщений: 3

Скрипт по поиску папок по дате

17.04.2016, 14:36. Показов 1500. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все привет.
Сделали мне скрипт по поиску и удалению папок и файлов по заданной дате на сервере, но не довели до ума, а конкретно нужно чтобоы поиск и удаление происходило не только в текущей папке а ВНУТРИ её подпапок. Пример

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


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


PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?
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>
Добавлено через 4 часа 25 минут
Народ, хелп... по поиску особо не нашёл ничего ( помогите данный скрипт подправить...

Добавлено через 17 часов 36 минут
Народ, помощь нужна срочная.... неужели трудная задача для знающих??
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2016, 14:36
Ответы с готовыми решениями:

Скрипт по поиску заданного слова в файлах
Написать скрипт, который подсчитывает кол-во встречаемостей заданного слова среди текстовых файлов текущего каталога. Если кол-во...

Создать bat-файл по поиску самого нового файла по дате в папках и подпапках без использования промежуточных файлов
Доброго времени суток, друзья. В общем, понадобился bat-файл, который будет искать самый новый файл по дате создания. Пробовала...

Удаление папок по дате в их именах
Доброго времени суток! У меня появилась проблема по удаление папок по дате. Суть: Есть папка C:\reserv, куда после запуска bat-ника...

2
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
18.04.2016, 08:07
DimkaG, я думаю, лучше обратиться к разработчику или на фриланс. Код жуткий, конечно...
0
0 / 0 / 1
Регистрация: 16.04.2016
Сообщений: 3
18.04.2016, 19:05  [ТС]
Закрывайте, сделал!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.04.2016, 19:05
Помогаю со студенческими работами здесь

Копирование логов из различных, по дате, папок
Добрый день! Столкнулись с задачей: Есть папки с логами, вида: c:\etc\logs\2018\05\16\CompanyName1\ ...

VBA Outlook - Список папок, фильтр по дате
Добрый день! Имеется необходимость получить полный список всех папок с письмами, включая вложенные и дополнительно подключенные ящики....

Сортировка папок и файлов по размеру, дате создания
Здравствуйте , подскажите как с помощью Windows Form сделать как чтобы ты сначала выбираешь допустим папку которая имеет разные подпапки и...

Копирование с созданием папки назначения с именем, соответствующим дате копирования, и удаление старых папок
Доброго времени суток уважаемые форумчане! Помогите пожалуйста! Необходимо создать BATник, который будет копировать папки с D:\1c-base в...

Скрипт синхронизации папок
Помогите, пожалуйста, решить задачу: Написать программу синхронизации двух каталогов, например, Dir1 и Dir2. Пользователь задаёт имена Dir1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru