View file forum/files.php

File size: 3.32Kb
<?php
//-новая функция кеширования-//
$filtime=filemtime(BASEDIR."local/datatmp/downfor.dat");
$filtime=$filtime+(3600*1); //1-часовое индексирование 
$ttime=time();

if($ttime>=$filtime){
	
$dir = opendir (BASEDIR."forum"); // открываем директорию forum
while ($file = readdir ($dir)) {
if (( $file != ".") && ($file != "..") && ($file != ".htaccess") && ($file != "index.php") && ($file != "top20.php") && ($file != "down.php") && ($file !="addtem.php") && ($file !="addvote.php") && ($file !="rus_nick.php") && ($file !="name.dat")&& ($file !="attache.php") && ($file !="upload.php") && ($file !="upload2.php") && ($file !="resize.php") && ($file !="seach.php") && ($file !="files.php") && ($file !="topusers.php") && ($file !="top.php") && ($file != "new.php") && ($file != "golos.php") && ($file != "mythem.php") && ($file != "on_uz.php") && ($file != "print.php") && ($file != "savetem.php") && ($file != "tabu.php") && ($file != "tegi.php") && ($file != "topics.php") && ($file != "topnew.php") && ($file != "zip.php") && ($file != "newfiles.php")) // эти файлы игнорируем
{$a[]=$file;}}  // записываем все что есть в массив
closedir ($dir); //Закрываем 
		
$total = count($a);  //считаем 
for ($i = 0; $i < $total; $i++){ //пускаем цикл от нуля до численности папок за исключением тех что выше
	
$dir = opendir (BASEDIR."forum/$a[$i]"); // открываем  директорию c циклом папок
while ($file = readdir ($dir)) 
{if (( $file != ".") && ($file != "..") && ($file != ".htaccess") && ($file != "index.php") && ($file != "count") && (!ereg (".txt$", "$file")&& !ereg (".JPG$", "$file")&& !ereg (".GIF$", "$file")&& !ereg (".PNG$", "$file")&& !ereg (".BMP$", "$file"))) // эти файлы игнорируем
{$a[]=$file;}}  // записываем все что есть в массив
closedir ($dir); //Закрываем 	
}
$tot = count($a); //считаем
$to=round($tot-$total); //вычисляем из общего счета сами папки, ведь нужны тока файлы в них

for ($i2 = 0; $i2 < $total; $i2++){ //пускаем цикл от нуля до численности папок за исключением тех что выше
	
$dircc = opendir (BASEDIR."forum/$a[$i2]"); // открываем  директорию c циклом папок
while ($filecc = readdir ($dircc)) 
{
$filtime=filemtime (BASEDIR."forum/$a[$i2]/$filecc"); 
$filtime=$filtime+(3600*24*1);  //Сколько файл считать новым сейчас уст. на 1 сутки
$ttime=time();
if($filtime>=$ttime){	
if (ereg(".txt$", "$filecc")) // эти файлы не игнорируем
{

$cc[]=$filecc;	}}}  // записываем все что есть в массив
closedir ($dircc); //Закрываем 
}
$to2 = count($cc); //считаем


if($to2>0){	
$dtext=(int)$to.'/+'.(int)$to2; 
}else{
$dtext =(int)$to;
}


$fp = fopen(BASEDIR."local/datatmp/downfor.dat","a+");
flock ($fp,LOCK_EX);
ftruncate($fp,0);
fputs($fp,$dtext);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod ($fp, 0666); 
chmod (BASEDIR."local/datatmp/downfor.dat", 0666); 
}

$dinput = file(BASEDIR."local/datatmp/downfor.dat"); 
echo' ('.$dinput[0].')<br>';
?>