One20 » 2008.05.09 21:48

Мне нужно штобы скрипт мог подсщитать все ети файлы и штобы был вывод сколько файлов и сколько новых httt://wapbest.biz/down/?a=Biblioteka Есть у каво нибуть?

One » 2008.05.10 13:12

???

Gemorroj » 2008.05.10 14:09

сформулируй вопрос нормально.
судя по всему, тут одними файлами не обойтись, нужна БД.

One » 2008.05.10 19:45

Мне нужно,штобы скрипт умел подсчитувать файлы у всех категориях и в любых подпапках и также нужно штобы выводилось количество всех файлов и количество новых (если такие имеютса) Мне скрипт нужен именно ,штобы работал на файлах!

One » 2008.05.10 20:13

Вот у меня есть такой скриптик,но он не хочет всех файлов считать http://wapbest.biz/obmen.txt Можеш ево переделать?

Gemorroj » 2008.05.10 20:47

если файлов будет около 1000, то такой скрипт будет выполняться пару секунд минимум, тебе оно надо?
это заведомо ложный путь. делай БД. если тебе нужен подсчет и всех файлов, и новых...
ну можно еще записывать результат подсчета в файл и брать данные оттуда, а пересчет вести, скажем если файла с данными нет.

Рома » 2008.05.10 22:24

Етот скрипт,што я дал он записует количество всех файлов и новых у файл! Только нужно его переделать! А сложно ето зделать на мусколе?

Gemorroj » 2008.05.10 23:00

Код:

1
span style="color: #0000BB"><?php$filtime = filemtime('data/obmen.dat');$filtime = $filtime+3600; //1-часовое индексирование$ttime = time();if($ttime >= $filtime){$odir = opendir('obmennik'); // открываем директорию obmennikwhile($file = readdir($odir)){if($file[0]!='.' && strrchr($file,'.')!='.php') // эти файлы игнорируем{$oa[] = $file;} // записываем все что есть в массив}closedir($odir); //Закрываем$total = sizeof($oa); //считаемfor($oi=0; $oi<$total; $oi++){ //пускаем цикл от нуля до численности папок за исключением тех что выше$odir = opendir('obmennik/'.$oa[$oi]); // открываем директорию c циклом папокwhile($file = readdir($odir)){if($file[0]!='.' && strrchr($file,'.')!='.php' && strrchr($file,'.')!='.jpg' && strrchr($file,'.')!='.gif' && strrchr($file,'.')!='.txt' && $file!='count') // эти файлы игнорируем{$oa[]=$file;}} // записываем все что есть в массивclosedir($odir); //Закрываем}$tot = sizeof($oa); //считаем$obto = round($tot-$total); //вычисляем из общего счета сами папки, ведь нужны тока файлы в нихfor($oi2=0; $oi2<$total; $oi2++){ //пускаем цикл от нуля до численности папок за исключением тех что выше$obdir = opendir('obmennik/'.$oa[$oi2]); // открываем директорию c циклом папокwhile($obfile = readdir($obdir)){$filtime = filemtime('obmennik/'.$oa[$oi2].'/'.$obfile);$filtime = $filtime+432000; //Сколько файл считать новым сейчас уст. на 5 сутокif($filtime >= time()){if(strrchr($file,'.')=='.txt'){ // эти файлы НЕ игнорируем$occ[]=$obfile;}}} // записываем все что есть в массивclosedir($obdir); //Закрываем}$obto2 = sizeof($occ); //считаемif($obto2 > 0){$dtext = $obto.'/+'.$obto2;}else{$dtext = $obto;}file_put_contents('data/obmen.dat',$dtext);chmod('data/obmen.dat', 0666);}echo '['.file_get_contents('data/obmen.dat').']';?>

вот, в принципе то же самое, только пошустрее и пограмотнее.
там ньюанс один, в папке obmennik считываются ТОЛЬКО директории, а не файлы. Файлы уже только в подпапках.
Добавлено спустя    48 секунд:
кстати теперь нужен PHP5 (функция file_put_contents)