|
|
|
| Привет, вот есть скрипт он выводит сообщения из файла:
<?php
$arr = file("chat.txt");
krsort($arr);
foreach ($arr as $row) {
list($name, $msg, $time, $ip) = explode(":", $row);
print "<b>$name :</b>";
for($i=0; $i<=strlen($msg); $i+=5) {
echo substr($msg, $i, 5). "<br>";
}
}
?>
|
И мне нужно сделать так чтобы он выводил только по 5 новых сообщений, а те что после 5-ти невыводил.. В логах 1 строка = 1 сообщению, тоесть там запись идет так:
вот скрипт который выводит по 5 сообщений:
<?
$file=file("text.txt");
$strings="5";
for($i_str=0;$i_str<$strings;$i_str++)
{
$string.=$arr[$i_str];
}
echo $string;
?>
|
Так вот проблема, пытался их обединить и никак невыходило... Помогите плиз соединиить их) | |
|
|
|
|
|
|
|
для: ZetRider
(12.03.2006 в 20:02)
| | Можно поступить примерно следующим образом
<?php
$arr = file("chat.txt");
krsort($arr);
$total = 5;
for($i=0; $i<$total; $i++)
{
list($name, $msg, $time, $ip) = explode(":", $arr[$i]);
print "<b>$name :</b>";
for($i=0; $i<=strlen($msg); $i+=5)
{
echo substr($msg, $i, 5). "<br>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(12.03.2006 в 20:08)
| | неа,.. он щас выводит тока первое сообщение и все, больше ничего непоказывает (( | |
|
|
|
|
|
|
|
для: ZetRider
(12.03.2006 в 20:19)
| | Чета нитак не эдак ( | |
|
|
|
|
|
|
|
для: ZetRider
(12.03.2006 в 20:19)
| | Есть такое дело, следует исправить следующим образом
<?php
$arr = file("chat.txt");
krsort($arr);
$total = 5;
for($i=0; $i<$total; $i++)
{
list($name, $msg, $time, $ip) = explode(":", $arr[$i]);
print "<b>$name :</b>";
for($j=0; $j<=strlen($msg); $j+=5)
{
echo substr($msg, $j, 5). "<br>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(13.03.2006 в 01:36)
| | хм.. хорошо бы еще в обратном порядке, как я понял ето делается так:
<?php
$file = file('chat.txt');
for($a=4; $a>=0; $a--) {
$row = $file[$a];
list($name, $msg, $time, $ip) = explode(":", $row);
print "<b>$name :</b>";
for($i=0; $i<=strlen($msg); $i+=5) {
echo substr($msg, $i, 5). "<br>";
}
}
?>
|
Но он почему та выводит щас тока сообщения с 1 по 5,.. а сообщения которые идит после 5-го невыводятся((
В логе назодится:
1:1:12.03.06:127.0.0.1:
2:2:12.03.06:127.0.0.1:
3:3:12.03.06:127.0.0.1:
4:4:12.03.06:127.0.0.1:
5:5:12.03.06:127.0.0.1:
6:6:13.03.06:127.0.0.1:
7:7:13.03.06:127.0.0.1:
8:8:13.03.06:127.0.0.1:
|
он вывел только
1:1:12.03.06:127.0.0.1:
2:2:12.03.06:127.0.0.1:
3:3:12.03.06:127.0.0.1:
4:4:12.03.06:127.0.0.1:
5:5:12.03.06:127.0.0.1:
|
А как сделать чтобы он выводил новые сообщения? | |
|
|
|
|
|
|
|
для: ZetRider
(13.03.2006 в 12:49)
| | Хм... может лучше играться сортировкой
попробуйте сортировать в обратном порядке. | |
|
|
|
|
|
|
|
для: ZetRider
(13.03.2006 в 12:49)
| | ZetRider, вы уже открывали один раз такую тему. И два дня назад я написал вам законченные варианты и с прямым и с обратным выводом. Но вы не прочли их и создали новую тему. | |
|
|
|
|
|
|
|
для: ck
(14.03.2006 в 19:54)
| | Сори, ответ в той теме я написал, то что он выводит только 5 сообщений тоесть тока первые 5 строк, а остальные невыводит... тоесть он выводит строки с 1-ой по 5-ую... а есть еще строки 6,7,8,9 и они считаютя новыми, так вот теперь он должен вывести с 5-ой по 9-ую | |
|
|
|