Forum Webscript.Ru
Программирование => PHP => Тема начата: Гарик Новиков от 13 Декабря 2001, 00:09:26
-
Доброго всем времени суток.
У меня есть файл с сообщениями.
вфглядит следующим образом.
ID|AVTOR|TEMA|MAIL|DATE|MESSAGE...
и заканчивается вот так
*-*-*-*-*-*-*...
это для того чтобы как-то разделить сообщения между собой
дык вот в чем проблема.
читаю я эту беду след образом:
$files = file("mess.txt");
while (list($arr) = each($files)) {
$mess = explode("|", $files[$arr]);
echo "$mess[2]";
echo "$mess[4]:$mess[1]";
// с этого моментна начинаем считывать текст
$i=0;
while ($i==0) {
if (strpos($string,\'*-*\')!=false) { // пока ненаходим в строке *-*
$string=fgets($files,100); // читаем строку
print ($string); // выводим ее на экран
print $i; // печатаем $i
}
else { $i++;} // иначе наращиваем $i и обрываем while
} // продолжаем выводить таблицу..
echo "$mess[3]";
}
?>
вот вся проблема в том, что он нехочет читать многострочные мессаги... он их просто разбивает. И если впихивать сюда таблицу, то он просто повторяет несколько раз внешний while а внутренний как бы его и не касается... ну нехочет оне его..
подскажите плиз в чем моя ошибка.
Заранее благодарен Гарик Новиков
-
Почему while?
А вдруг это в if (strpos($string,\'*-*\')!=false) ошибка ? :))
Тебе же надо == false, a не != false
-
Перед записью сообщения замени энтеры на
Ф-я вроде nl2br
-
спасибо что открыли глаза.... но теперь другая проблем встает.... он понимаешь ли ругется.....
Warning: Supplied argument is not a valid File-Handle resource in c:\\usr\\htdocs\\test\\11\\noti.php on line 19
у меня эта строка $string=fgets($files,100);
я так понял что он ругается на то, что неможет прочитать неоткрытый файл....
чего мне делать господа подскажите плиз...
Заранее благодарен Гарик Новиков
-
Открыть его :)
$files = fopen("filename.ext", "r");
$string = fgets($files,100);
fclose($files);
-
Открыть его
$files = fopen("filename.ext", "r");
$string = fgets($files,100);
fclose($files);
м-м-м-м..... пробовал..... он начинает ругаться на следющее...
Warning: Variable passed to each() is not an array or object in c:\\usr\\htdocs\\test\\11\\noti.php on line 8
а точнее на while (list($arr) = each($files)) {
-
приведи часть скрипта
-
2Гарик Новиков
$files = file("mess.txt"); и $files = fopen("filename.ext", "r"); несовместимы!!!!
Ты определись что для тебя важнее - 1й или 2ой способ.
и делай 2 раза - либа оба раза fget , либо 2 раза $files[$arr]
-
Ув. Britva .... скрипт полностью наверху... первая мессага...
Ув. Oak ... будте так любезны подскажите как мне тогда при
file().. читать многострочное сообщение... пробовал по всякому неполучается......
Заранее благодарен Гарик Новиков
-
многострочное сообщение... пробовал по всякому неполучается......
Перегони сообщение в однострочное при записи его в файл
с пом nl2br
-
Перегони сообщение в однострочное при записи его в файл
с пом nl2br
как я понял это просто нужно брать строчку и просто выставлять в место Ентера
???
-
как я понял это просто нужно брать строчку и просто выставлять в место Ентера
???
Нее. Спецфункция nl2br втыкаешь туды свою месагу и она заменяет тебе все энетеры на
. В итоге текст в файле получается в одну строку, а на экране к и вводили
-
$files = file("mess.txt");
while (list($arr) = each($files)) {
$mess = explode("|", $files[$arr]);
echo "$mess[2]";
echo "$mess[4]:$mess[1]";
// с этого моментна начинаем считывать текст
$i=0;
while ($i==0) {
if (strpos($string,\'*-*\')!=false) { // пока ненаходим в строке *-*
$string=fgets($files,100); // читаем строку
print ($string); // выводим ее на экран
print $i; // печатаем $i
}
else { $i++;} // иначе наращиваем $i и обрываем while
} // продолжаем выводить таблицу..
echo "$mess[3]";
}
?>
в $files это массив всех строк из файла mess.txt !
а fgets\'у нужен идентификатор открытого файла через fopen/...
совершенно разные вещи.
-
не сочтите назойлевым братья зеляне.
Еще один глупый вопрос.
как мне обработать содержимое формы
textarea ... типа той в которой запоняем...
чтобы вместо Ентеров поставить
???
Я не тормоз я просто долго думаю
Заранее благодарен Гарик Новиков
-
-
Ув. Britva...
греат сенкс....
будем трудиться
С благодарностью Гарик Новиков
-
зБТЙЛ оПЧЙЛПЧ
$files = file("mess.txt");
for ($j=0; $j$mess = explode("|", $files[$j]);
echo "$mess[2]
\\n$mess[4]:$mess[1]
";
// S \\TOGO MOMENTNA NA^INAEM S^ITYWATX TEKST
$j++;
while (strpos($files[$j],\'*-*\')==false) { // POKA NENAHODIM W STROKE *-*
print ($files[$j]); // WYWODIM EE NA \\KRAN
$j++;
}
// PRODOLVAEM WYWODITX TABLICU..
echo "$mess[3]";
}
?>
-
огромное спасибо ВСЕМ....
за оказанную помощь...
все получилось...
С Уважением Гарик Новиков