|
|
|
|
|
для: Евгений Петров
(20.03.2006 в 13:40)
| | действительно работает :(
а из-за вот этого поста, я подумал что нет.....
>да чуть лишнее \n и виснет.. надо другой алгоритм искать :(
приношу свои извинения :) | |
|
|
|
|
|
|
|
для: kasmanaft
(20.03.2006 в 13:37)
| | У меня так и сделано и, наверное, Вы очень удивитесь, но ТОЖЕ работает. :)))) | |
|
|
|
|
|
|
|
для: Евгений Петров
(20.03.2006 в 12:56)
| | зато работает :)
но можно при желании не читать весь файл, а также оформить в функцию :) | |
|
|
|
|
|
|
|
для: kasmanaft
(20.03.2006 в 08:37)
| | Да нет я как раз о том что вы сразу читаете весь файл. У меня из файла читается только кусок (конкретные сообщения). Функция ReadNext читает только следующее сообщение но никак не весь файл | |
|
|
|
|
|
|
|
для: JIEXA
(19.03.2006 в 00:01)
| | А может быть стоило всего лишь выделить тела сообщений в отдельную таблицу?
Честно говоря, не представляю себе ситуации, когда вынос части системы обмена собщениями на файловый уровень смог бы устранить неприятности, а не усугубить их. ЗА исключением, может быть, ситуации, когда часть устаревших сообщений, уходя из базы,скидывается в файлы. | |
|
|
|
|
|
|
|
для: Евгений Петров
(19.03.2006 в 16:51)
| | это вы насчет
$file = file("mess.txt"); ????
ну, если не нравиться, то можно сделать как у вас $f = fopen("mess.txt","r"); но тогда потребуется цикл - и все равно придется считать весь файл :)
но по-моему это было для чата, а там 15мб. быть не может...
... или не для чата... вобщем так нагляднее :) .... отвертелся ;)) | |
|
|
|
|
|
|
|
для: kasmanaft
(19.03.2006 в 09:16)
| | А если файл весит метров 15? | |
|
|
|
|
|
|
|
для: JIEXA
(19.03.2006 в 01:40)
| | вот... глянь сюды:
<?
$id_msg = '';
$file = file("mess.txt");
for ($i = 0; $i < count($file); $i++)
{
if (trim($file[$i]) == "->-------------------------------------<-")
{
$id_msg++;
$next_msg = false;
}
if (ereg ("([a-zA-Z0-9]+) (\([0-9:/ ]+\))+",$file[$i],$exp))
{
$messages[$id_msg]['name'] = $exp[1];
$messages[$id_msg]['date'] = $exp[2];
$next_msg = true;
continue;
}
if ($next_msg)
{
if (!empty($messages[$id_msg]['txt']))
$msg = $messages[$id_msg]['txt'];
else $msg = '';
$messages[$id_msg]['txt'] = str_replace ("\n",'<br>',$msg.$file[$i]);
}
}
echo $messages[1]['name'].'<br>';
echo $messages[1]['date'].'<br>';
echo $messages[1]['txt'];
?>
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(19.03.2006 в 01:28)
| | да чуть лишнее \n и виснет.. надо другой алгоритм искать :( | |
|
|
|
|
|
|
|
для: Евгений Петров
(19.03.2006 в 01:28)
| | Врубился. Виснет только если после сообщения стоит несколько \n\n | |
|
|
|
|