Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Считать из папки 10 последних изменённых тектовых файлов...
 
 автор: dron   (15.10.2005 в 22:58)   письмо автору
 
 

Как мне написать скрипт который бы делал следующее:

Считывал из папки "test" все фаилы типа *.txt
Определял последние изменённые 10 фаилов из множества(т.е. те 10 в которые последними записались строки и фаилы соответственно изменились).
Из каждого из этих фаилов считывал последнюю записанную строку
и выводил эти строки к 10-ти фаилам в цикле.

Возможно ли вообще такое сделать?
Если да то подскажите пожалуйста как.

   
 
 автор: DDK   (16.10.2005 в 00:06)   письмо автору
 
   для: dron   (15.10.2005 в 22:58)
 

Вот так:

<? 
$dirname 
"test/"// Имя папки (на конце косой слэш обязателен !)
$file_type "txt"// Расширение нужных файлов
$max_to_output "10"// Максимальное кол-во выводимых файлов

$count_files opendir ($dirname); 
$counter 0
while (
$file readdir ($count_files)) 
{
    
$filetype explode("."$file);
    
$filetype array_reverse($filetype);
    
$filetype $filetype[0];
    
    if (
$file != "." && $file != ".." && is_file($dirname.$file) && ($filetype == $file_type)) { 
    
$file_names[$counter] = filemtime($dirname.$file)."|".$file;
    
$counter++;
    }
}

closedir($count_files);

if (!Empty(
$file_names)) {
    
rsort($file_names);
    for (
$i=0$i $counter$i++) {
    }
    
    if (
$counter $max_to_output) {$flcount $counter;} else {$flcount $max_to_output;}
    
    for (
$i=0$i $flcount$i++) {
    
$filename explode("|"$file_names[$i]);
    
$file_cont file($dirname.$filename[1]);
    
$file_cont array_reverse($file_cont);
    echo 
$file_cont[0]."<br>"// Вывод последней строки файла
    
}
} else {echo 
"Нет подходящих для обработки файлов !";}
?>

   
 
 автор: dron   (16.10.2005 в 00:19)   письмо автору
 
   для: DDK   (16.10.2005 в 00:06)
 

Спасибо всё работает.

   
 
 автор: dron   (17.10.2005 в 01:15)   письмо автору
 
   для: dron   (16.10.2005 в 00:19)
 

Да и если не трудно подскажите как сделать так что бы из последней строки выводилось допустим первые 100 символов.

   
 
 автор: cheops   (17.10.2005 в 01:23)   письмо автору
 
   для: dron   (17.10.2005 в 01:15)
 

Измените строку
<?php
    
echo $file_cont[0]."<br>"// Вывод последней строки файла
?>

на
<?php
    
echo substr($file_cont[0],0,100)."<br>"// Вывод последней строки файла
?>

   
 
 автор: dron   (27.10.2005 в 01:16)   письмо автору
 
   для: cheops   (17.10.2005 в 01:23)
 

А ещё подскажите как сделать так что бы скрипт выводил не только последнюю строку но и предпоследнюю

   
 
 автор: cheops   (27.10.2005 в 13:35)   письмо автору
 
   для: dron   (27.10.2005 в 01:16)
 

Добавьте перед строкой
<?php
 
echo $file_cont[0]."<br>"// Вывод последней строки файла
?>

ещё одну строку
<?php
 
echo $file_cont[1]."<br>"// Предпоследняя строка
?>

   
 
 автор: dron   (27.10.2005 в 15:32)   письмо автору
 
   для: cheops   (27.10.2005 в 13:35)
 

Спасибо! А можно сделать так что бы этот скрипт не трогал первые 2 строки фаила(в них допустим хранится дополнительная инфа) а начинал чтение с 3 -ей

   
 
 автор: DDK   (27.10.2005 в 17:25)   письмо автору
 
   для: dron   (27.10.2005 в 15:32)
 

он их и не трогает... что-то я не понимаю. Если говорить образно, то мы вообще начинаем читать файл с конца...

   
 
 автор: cheops   (27.10.2005 в 20:04)   письмо автору
 
   для: dron   (27.10.2005 в 15:32)
 

Замените строку
<?php
    
for ($i=0$i $flcount$i++) {
?>

на
<?php
    
for ($i=2$i $flcount$i++) {
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования