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

Форум PHP

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

 

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

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

тема: с помошью чего можно подсчитать сколько в txt файле однотипных выражений???
 
 автор: One art galery   (07.11.2006 в 13:08)   письмо автору
 
 

есть txt файл в который записываеться данные в строку видом

текст - текст <br> тект - текс <br><br> // и так далее таким шаблоном

вот теперь вопрос можно ли ,и если да то как подсчитать сколько в таком txt файле таких шаблонов?!и если можно поподробней!

   
 
 автор: kasmanaft   (07.11.2006 в 13:36)   письмо автору
 
   для: One art galery   (07.11.2006 в 13:08)
 

Шаблон известен, да?
<?
// $text = file_get_contents("text.txt");
$text 'текст - текст <br> текст - текст <br><br>';
echo 
substr_count($text'текст - текст <br>');
?>

   
 
 автор: One art galery   (07.11.2006 в 13:40)   письмо автору
 
   для: kasmanaft   (07.11.2006 в 13:36)
 

Остался вопрос что написать вместо текста
например у меня будет
НИК - текст, имя - текст
и т.д. , что писать вместо "текста" ведь он может быть любым!!!

   
 
 автор: mishaMC   (07.11.2006 в 13:43)   письмо автору
 
   для: One art galery   (07.11.2006 в 13:08)
 

Как разделяются между собой данные? Примерно так:


шаблон - шаблон <br> шаблон - шаблон <br>


Где, тег <br> разделитель?

Какого вида данные в шаблоне (буквенные, цифры, буквенно-цифренные и т.д.)?

   
 
 автор: One art galery   (07.11.2006 в 14:05)   письмо автору
 
   для: mishaMC   (07.11.2006 в 13:43)
 

разделитель будет "<br><br>"(вообщем так задумывалось, но не обезательно)
данные в шаблоне будут и буквенные и цифры!
вообщем объесняю поподробнее
человек заполняет форму ввида
ник: $nik
имя: $name
емайл: $mail
о себе: $oceb
все то записываеться в файл txt вида
"ник $nik <br> имя $name <br> email $mail <br> о себе: $oceb /*и заканчиваеться 1-ый шаблон */ <br><br> /* усе*/"
надо посчитать сколько таких шаблонов в этом txt файле!
в файл все записываеться в одну строчку!

   
 
 автор: mishaMC   (07.11.2006 в 14:48)   письмо автору
 
   для: One art galery   (07.11.2006 в 14:05)
 

Проще заканчить шаблон проставляю разрыв строки. Тогда ничего мудрить не надо будет и достаточно будет проще посчитать кол-во строк в файле.

Для разрыва строки вставьте в конце каждой порции данных не "<br><br>", а "r\n\"

   
 
 автор: One art galery   (07.11.2006 в 15:08)   письмо автору
 
   для: mishaMC   (07.11.2006 в 14:48)
 

Вот скрипт:

<?
  $file 
fopen ("user.txt","a+");
 
$str "Имя - $name <br> Фамилия - $sorn <br><br>";
  if ( !
$file )
  {
    echo(
"Ошибка открытия файла");
  }
  else
  {
    
fputs $file$str);
  }
  
fclose ($file);
?>

куда вставить "r\n\"(и если мне не изменяет паметь то пишется \r\n - если нет то извеняюсь)???

   
 
 автор: One art galery   (07.11.2006 в 15:20)   письмо автору
 
   для: One art galery   (07.11.2006 в 15:08)
 

ПОМОГИТЕ ПОЖАЛУСТА!!!
Не бросайте меня...

   
 
 автор: mishaMC   (07.11.2006 в 15:22)   письмо автору
 
   для: One art galery   (07.11.2006 в 15:08)
 

Вы правы, я очепятался :)


<? 
## Тестовые данные
$name "misha";
$sorn "lastname";

$file fopen ("user.txt","a+"); 
## Надеюсь у Вас имеется блок проверки данных на всякие зловредные вещи?
  
if ( !$file 
  { 
    echo(
"Ошибка открытия файла"); 
  } 
  else
   
  { 
 
$str "Имя - ".$name."<br>Фамилия - ".$sorn."\r\n"
 
fputs $file$str); 
  } 
  
fclose ($file); 
?>



Добавил:

Функция подсчета количества строк в файле. Чего-то стандартной функции не нашел, написал свою. Если у кого есть более простое решение, поскажите.


<?
## Функция возвращает кол-во строк в файле
## в качестве параметра передавайте имя файла

function CountStr($filename) {
$countstr = -1;
## Флаг "rt" включает режим трансляции, то есть
## в независимости от ОС, любые переносы поймуться правильно
$filename fopen($filename'rt');
## Пока не достигнут конец файла
while (!feof($filename)) {
       
$buffer fgets($filename4096);
       
## Увеличиваем счетчик.
       
$countstr ++;
       }

echo 
$countstr;
fclose($filename);
}

## Пример использования
CountStr("user.txt");

?>

   
 
 автор: One art galery   (07.11.2006 в 23:49)   письмо автору
 
   для: mishaMC   (07.11.2006 в 15:22)
 


<?
  $file_array 
=  file ("oldnews.txt");
  if(!
$file_array)
  {
    echo(
"Ошибка открытия файла");
  }
  else
  {
    
$num_str =  count($file_array); 
    echo(
$num_str);
  }
?> 


Этот скрипт приведен в учебники...думаю будет попроще! хотя...

   
 
 автор: mishaMC   (08.11.2006 в 12:03)   письмо автору
 
   для: One art galery   (07.11.2006 в 23:49)
 

Точно, о функции count() я и забыл.

   
Rambler's Top100
вверх

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