ммм... Не могу понять и правильно сконструировать свои мысли и скрипт Вообщем в папке есть файлы вида: Так вот и скрипт который должен делать с этими файлами след.действие: найти первый файл cookies_33.txt при этом в скрипте нигде не написано что первый файл это cookies_33.txt Надо сразу переименовать этот файл в cookies.txt, далее кое-что в нем изменить, сделать некоторые действия с файлом(не важно какие) и далее переименовать файл так, чтобы дальше было удобно его использовать опять, но нельзя использовать 1 файл 2 раза за день.. Далее найти след.файл cookies_35.txt и сделать аналогичное... Т.е. все действия в скрипте у меня проводятся над файлом cookies.txt, другие просто в него переименовываются и сохраняются заново... Кто меня хорошо понял и поможет, у того жизнь будет ягодная.. Чмоке
т.е., проще говоря, название первого файла "cookies_33.txt" задаётся пользователем? Если нет, то по какому принципу он выбирается?
0. получаем текущую дату (например в формате 26032008) 1. сканим диру на наличие файлов в цикле. { 2. Если в имени файла есть строка "cookies" (допустим это наше условие файлов) и нет строки "26032008" то переходим в пункт 3. 3. Выполняем необходимые действия с файлом и переименовываем в "старое имя_26032008" }
Вы не поняли...... У меня в файле куча файлов cookies_N.txt Значение не изветно..если тока диру сканить.. Так вот..надо взять первый файл cookies_N.txt переименовать его в cookies.txt. сделать действие, переименовать файл обратно -> Для будущего перебора файлов я сделал формат перезаписи файлов такой: PHP: <?php $cookfil = 'cookies'.date("d", time()).'_'.$num.'.txt.'; ?> ... Дальше....надо найти второй файл cookies_n.txt и сделать теже действия!!!!!!!
Находит самый старый файл в папке, переименовывает в cookie.txt, а потом переименовывает обратно точнее, не самый старый, а с наиболее ранним временем последнего изменения вместо filectime можно наверное и filemtime, а может и что-нибудь ещё... PHP: <?php $list=glob("files/*.txt"); $file_mod_time[-1]=9999999999; for($i=0;$i<count($list);$i++) { $file_mod_time[$i]=filectime($list[$i]); if($file_mod_time[$i]<$file_mod_time[$i-1]) { $oldest_mod_time_file=$file_mod_time[$i]; $oldest_file=$list[$i]; } } echo"Oldest Unix time: $oldest_mod_time_file<br> Oldest file name: $oldest_file<br>"; foreach ($list as $filename) { echo "$filename size ".filesize($filename)." time ".filectime($filename)."<br>"; } rename ("$oldest_file", 'files/cookie.txt'); // {...Действие...} rename ('files/cookie.txt',"$oldest_file" ); ?>
Извините если не то начеркал:.... . Я так понял тебе надо находить по возврастанию... . Тык вроде есть такая функция которая правильно сортирует массив по возврастанию то есть: cookie_3 coolie_12 сookie_102. cookie_3....coolie_12....сookie_102.... Cначала смотрим все .txt потом сортируем.... . Могу начеркать побыстренькому....