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

Форум PHP

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

 

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

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

тема: Как начать считавания файла со второй строки?
 
 автор: d-111   (25.07.2006 в 13:34)   письмо автору
 
 

Как начать считавания файла со второй строки?

   
 
 автор: valenok   (25.07.2006 в 13:41)   письмо автору
 
   для: d-111   (25.07.2006 в 13:34)
 

А первая строка очень большая?
Просто не припоминается ф-ции считывания фала со второй строки .
Если первая строка не очень большая то можно считывать вместе с первой а потом тут же её удалять.

   
 
 автор: cheops   (25.07.2006 в 15:09)   письмо автору
 
   для: d-111   (25.07.2006 в 13:34)
 

Если файл не очень большой вы можете воспользоваться функцией file(), которая разбивает содержимое файла на массив, каждый элемент которого соответствует отдельной строке. Тогда вам останется просто читать массив со второго элемента или вообще уничтожить первый элемент при помощи функции unset()
<?php
  $arr 
file("text.txt");
  unset(
$arr[0]);
?>

Если файл большой и вы читаете его при помощи функций fread() + fgets(), тогда нужно просто пропустить первую строку при помощи конструкции
<?php
  $fd 
fopen("text.txt""r");
  if(
$fd)
  {
     
$i 0;
     while(!
feof($fd))
     {
        if(!
$i)
        {
           
$i 1;
           continue;
        }
        
$line fgets($fd10000);
     }
  }
?>

   
 
 автор: tuder   (26.07.2006 в 12:51)   письмо автору
 
   для: cheops   (25.07.2006 в 15:09)
 

> if(!$i)
> {
> $i = 1;
> continue;
> }

Ой, как сложно. И нечитабельно в коде.


// открытие файла
  $fp = fopen($userfile, 'r');
// пропуск первой строки
  $first=fgets($fp, 1024);
// построчная обработка файла
   while ($line=fgets($fp)) {
[...]
   }


Так попроще?

   
 
 автор: Fddd   (26.07.2006 в 13:41)
 
   для: tuder   (26.07.2006 в 12:51)
 

<?
$fp = file(text.txt);
for ( $i = 1; $i < count($fp); $i++ ) {
$fp[$i ]; //Со Bторой строчки
}
?>

   
 
 автор: tuder   (27.07.2006 в 12:57)   письмо автору
 
   для: Fddd   (26.07.2006 в 13:41)
 

Смотри ранее:
> Если файл не очень большой вы можете воспользоваться функцией file()
(c) cheops

   
 
 автор: Loki   (28.07.2006 в 22:19)   письмо автору
 
   для: tuder   (26.07.2006 в 12:51)
 

Не затруднит вас переписать ваш вариант для третьей сроки... пятой, десятой, сотой... так и будете до опупения строчки вставлять или все-таки воспользуетесь условиями?

   
 
 автор: tuder   (31.07.2006 в 08:27)   письмо автору
 
   для: Loki   (28.07.2006 в 22:19)
 

Лишнее условие в цикле - тормоз для скрипта. Особенно когда по условию нужно всего лишь пропустить одну-две первые строки (заголовок, титлы).

Будет другое условие, будет другое решение.

   
Rambler's Top100
вверх

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