Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение файла с конца 
V
    Опции темы
Another
Дата 7.6.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Нужно прочитать файл с нонца и до тех пор, пака переменная не будет равна заданой. То есть, должен получится код, который суммирует $peremen[0] в каждой строчке файла, начиная с конца и до переменной $peremen[0] == $stop
или же наоборот, от $peremen[0] == $stop и до конца файла суммировать...
PM MAIL   Вверх
mogul82
Дата 7.6.2009, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 20.11.2008

Репутация: -1
Всего: -5



Блин давно с файлами не работал. 

Но мне кажеться проше если файл маленький его содержимое запихнуть в массив, а там и вычитать из общего кол-во строк, нужное число и брать эту строку.

А если файл большой то наверное нужно тока управлять указателем файловым.

Ну это уже не комне, а с ним не когде не работал.

Добавлено через 22 секунды
А вот здесь писалось:

http://forum.vingrad.ru/topic-75867.html
PM MAIL   Вверх
Another
Дата 7.6.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Нет, файл весит меньше метра

Добавлено через 11 секунд
 smile

Добавлено через 3 минуты и 27 секунд
Тут главное потом сосчитать $peremen[0] на кождой строчке
PM MAIL   Вверх
mogul82
Дата 7.6.2009, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 20.11.2008

Репутация: -1
Всего: -5



Код

$ar_text=file("somefile");  // Фигарим массив строк
$con=count($ar_text);      // Размер массива
$con_2=$con;                   // На всякий случай запоминаем в др. переменной

$stop = 10;                       // Стоп через 10 строк

$result;                             // Будет хранить строки.

for($i=0; $i<=$stop; $i++)
{
      $result[$i]=$ar_text[$con_2-$i];
       echo $result;
} 



Теория не проверял

Добавлено @ 17:50
Или вот:

Код


$ar_text=file("somefile");  // Фигарим массив строк
$con=count($ar_text);      // Размер массива
$con_2=$con;                   // На всякий случай запоминаем в др. переменной

$stop = 10;                       // Стоп через 10 строк

$output = array_slice ($input, $con_2-$stop-1);  // Обрезать начало и запихнуть в пер. оутпут

$con_3=count($output);
$con_4=$con-$con_3;

for($i=0; $i<=$con_4; $i++)
{
       echo $output[$i];
} 




Тож. теория

Это сообщение отредактировал(а) mogul82 - 7.6.2009, 17:51
PM MAIL   Вверх
mogul82
Дата 7.6.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 20.11.2008

Репутация: -1
Всего: -5



Аффтор помогло?
PM MAIL   Вверх
Another
Дата 8.6.2009, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Стоп через 10 строк... А как применить к стоп, если в этой строчке $peremen[0]  == $stop
$stop равно вообще определенной дате.
PM MAIL   Вверх
bazzjr
Дата 8.6.2009, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



Another а зачем такие сложности? для чего файл нужно читать с конца?
PM MAIL ICQ   Вверх
Another
Дата 8.6.2009, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



можно и не с конца, я уже писал... можно с того места, где $peremen[0]  == $stop и до конца...

Добавлено через 18 секунд
Я прост не знаю, как проще...
PM MAIL   Вверх
bazzjr
Дата 8.6.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



Не очень понятен вопрос.

Если можно четко ожидаемый результат, желательно с примерами.
PM MAIL ICQ   Вверх
Another
Дата 8.6.2009, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Есть файл:
Цитата

1::08.04.2009
2::09.04.2009
1::10.04.2009
10::11.04.2009
15::12.04.2009
45::13.04.2009
1::14.04.2009
11::15.04.2009
31::16.04.2009
15::17.04.2009
98::18.04.2009

Скрипт ищет определенную дату, скажем, 11.04.2009 и от нее и ниже суммирует все значения $peremen[0]

explode - peremen (::)

Это сообщение отредактировал(а) Another - 8.6.2009, 21:26
PM MAIL   Вверх
gta4kv
Дата 9.6.2009, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



PM MAIL   Вверх
Another
Дата 9.6.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



 smile 
PM MAIL   Вверх
Another
Дата 10.6.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Есть какой нибудь пример? хотелось бы увидеть рабочий код. У меня есть наброски, но, чет не получается...
Код

$file=file("file/users.cd");
foreach ($file as $array) {
$content=explode('::', $array);

if((тут чтото находит и ниже тогда берет всё из файла:), что, не знаю...)==$content[1]){
$count+=$content[0];
}

}


PM MAIL   Вверх
Another
Дата 10.6.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Осуществил следующим образом...
Код


$file=file($filename);
$viev="off";

foreach ($file as $array) {
$content=explode('::', $array);

if($content[3]=="Бла-бла" | $viev=="on"){
$count+=$content[2];
$viev="on";
}

}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.