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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Считка данных с текстового файла

Сообщения:  [1-10]   [11-14] 

 
 автор: cheops   (22.09.2006 в 12:02)   письмо автору
 
   для: Webmaster-X   (21.09.2006 в 23:07)
 

Можно
<?php 
  
// Открываем файл
  
$fd fopen("text.txt""r");
  if(
$fd)
  {
    
// Построчно читаем файл, пока не встретится
    // конец файла
    
while(!feof($fd))
    {
      
// Читаем текущую строку
      
$str fgets($fd10000);
    }
    
// Закрываем файл
    
fclose($fd);
  }
?> 

На каждой итерации цикла читается текущая строка файла $str, при этом в каждый момент времени строка только одна и память соответственно резервируется только для этой строки.

   
 
 автор: Webmaster-X   (21.09.2006 в 23:07)   письмо автору
 
   для: cheops   (21.07.2006 в 23:33)
 

а можна не большой пример

   
 
 автор: cheops   (21.07.2006 в 23:33)   письмо автору
 
   для: Webmaster-X   (21.07.2006 в 13:26)
 

Trianon хочет сказать, что на хостинге под UNIX с настроенным PHP - это не пройдёт, там под весь скрипт отводится 8, реже 16 мегабайт и работать с такими большими файлами потребуется другими методами, например, связкой функций fopen() + fgets().

   
 
 автор: Trianon   (21.07.2006 в 13:31)   письмо автору
 
   для: Webmaster-X   (21.07.2006 в 13:26)
 

Ошибаетесь. Выводите Вы 10 строк. А считываете - всё.

   
 
 автор: Webmaster-X   (21.07.2006 в 13:26)   письмо автору
 
   для: Trianon   (21.07.2006 в 13:21)
 

я ж не всё считываю а всего 10 строк

а если всё ставил
set_time_limit(0);
и счал всё правда вес страницы был ужасный

   
 
 автор: Trianon   (21.07.2006 в 13:21)   письмо автору
 
   для: Webmaster-X   (21.07.2006 в 12:59)
 

Странно, что у Вас php по "Out of memory" не загнулся. На операции =file("47Mb.txt")

   
 
 автор: Webmaster-X   (21.07.2006 в 12:59)   письмо автору
 
   для: Trianon   (21.07.2006 в 12:42)
 

>47 мегабайт? Ну-ну...
а что странного?
я открыл в ручную копировал и вставлял
токо вместо txt я использую DAT

   
 
 автор: Trianon   (21.07.2006 в 12:42)   письмо автору
 
   для: Webmaster-X   (21.07.2006 в 11:24)
 

47 мегабайт? Ну-ну...

   
 
 автор: Webmaster-X   (21.07.2006 в 11:52)   письмо автору
 
   для: Webmaster-X   (21.07.2006 в 11:24)
 

вид text.txt

d::s::з::34::
d::s::г::456::
d::s::d::56::
d::s::s::123::
d::s::sff::786::
d::s::sf::23::
d::s::df::12::
d::s::sd::3546::
d::s::f::878::
d::s::s::35::
d::s::п::87::
d::s::и::98::
d::s::df::453::

я считую данные


   $f=file("./text.txt");
   for($i=0;$i<count($f);$i++){
   list($check,$rdate,$rauthor,$count)=split("::",$f[$i]);
   }

$count - надо отсортировать
но чтото у меня не получается

   
 
 автор: Webmaster-X   (21.07.2006 в 11:24)   письмо автору
 
   для: cheops   (21.07.2006 в 10:11)
 

С считкой последних 10 строк всё замечательно работает я спецально загнал 47 мегабайт (16416 строк) и проверил-сбоев нет.
спасибо.
а по хитам щас проверю

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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