[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как узнать последнюю строку файла?
Страницы: 1, 2
sergeiss
waldicom, Valick - вам самим не надоело?


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
sergeiss, а так? :)
и кстати что нам должно надоесть? ну подкалывает он меня с книжками постоянно, но ведь в большинстве случаев высокоинтеллектуально-то подкалывает :) а мне-то чё, с меня не убудет...
<?php
header('Content-Type: text/html; charset=utf-8');
$c =4;
echo '<pre>';
if($f = fopen("file.txt","r")){
while (!feof($f)){
do{
$m[] = fgets($f);
}while(!feof($f) && count($m) < $c);
// action
print_r($m);
unset($m);
echo '<hr />';
}
fclose($f);
}
echo '</pre>';
?>

Болик, не захотел мне бабки башлять, ляпи блокировку файла сам :D

_____________
Стимулятор ~yoomoney - 41001303250491
Bolik
sergeiss

спасибо, попробую завтра. я на счет do...while тоже думал, но как-то не сообразил т.к. в работе это еще ни разу не понадобилось. выглядит хорошо. подозревал, что должно же быть простое решение циклом smile.gif

Valick

видишь, ты тоже можешь забесплатно предлагать решения smile.gif только я не пойму почему $c =4? количество пакетов конечно же не известно заранее
Valick
Цитата (Bolik @ 30.11.2015 - 23:47)
почему $c =4? количество пакетов конечно же не известно заранее

это с какого перепугу-то не известно? ты сказал по 10 строк файл разбить
Цитата
т.е. мне нужно через каждые десять строк выпонить определенное действие с массивом


Цитата
видишь, ты тоже можешь забесплатно

могу, но это очень скучно

_____________
Стимулятор ~yoomoney - 41001303250491
Bolik
Цитата

Цитата (Bolik @ 30.11.2015 - 23:47)
почему $c =4? количество пакетов конечно же не известно заранее

это с какого перепугу-то не известно? ты сказал по 10 строк файл разбить


ааа, понял, туплю. формат min.php сложновато читать smile.gif
только ты считаешь размер массива прямо в условии, а это не по-книжному wink.gif

Цитата

могу, но это очень скучно


нельзя ж быть таким меркантильным, всех денег не заработаешь. а так заработал спасибо, попиарился. я кстати над большим проектом работаю, можешь как-нибудь и сделаю заказ.
waldicom
Цитата (sergeiss @ 30.11.2015 - 21:28)
waldicom, Valick - вам самим не надоело?

Много ты понимаешь. Это уже не отлепить. Был у меня знакомый, так он как-то один раз сказал: "закидываю, я значит, её ноги на плечи и давай её ипать". Один раз сказал, а прилипло на всю жисть. Ему так всегда и говорили:"Валера, хер с ним с кодом, давай лучше про ноги". Так и здесь smile.gif

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Bolik
cпасибо sergeiss , твой ответ был почти то, что нужно. инкремент нужно было поместить в другое место:


$i = 0;
do {
$line = fgets($handle);
if (empty($line)) {
echo 'last batch';
//action
return;
}
if ($i == 10) {
//action
unset($batch);
$batch = array();
$i=0;
}
$batch[] = trim($line);
$i++;

} while ($line);


теперь работает как надо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.