Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 90
от 19.06.2005, 19:10

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 4


Вопрос № 22170: доброе утро :) я только недавно начал изучать php, потому буду задавать вам совершенно глупые вопросы :) надеюсь на помощь :) гостевая, сообщения сохраняются в guest.dat: namexxxxxmsgxxxxxtimexxxxконец строки как прочитать guest...

Вопрос № 22.170
доброе утро :)
я только недавно начал изучать php, потому буду задавать вам совершенно глупые вопросы :) надеюсь на помощь :)

гостевая, сообщения сохраняются в guest.dat:
namexxxxxmsgxxxxxtimexxxxконец строки
как прочитать guest.dat в массив? смотрю примеры в скриптах и ни как не могу врубиться :(
Отправлен: 14.06.2005, 19:05
Вопрос задал: Elektronik (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: SackTap
Здравствуйте, Elektronik!
Все предельно просто. Обьясняю (в приложении):
Объясняю принцип действия explode() - эта функция принимает в качестве первого параметра разделитель (в вашем случае это "xxxxx" - он разделяет время, имя и текст сообщения), а в качестве второго - строку, которую надо поделить.
Возвращает она массив: $msgs[0][0] будет содержать name, $msgs[0][1] - msg и т. д.
Иначе говоря после выполнения данного скрипта вы сможете получить доступ к сообщениям так:
$msgs[НОМЕР_СООБЩЕНИЯ][ПОЛЕ]
Удачи в изучении!

Приложение:

---------
=)

Ответ отправил: SackTap (статус: 10-ый класс)
Отправлен: 14.06.2005, 19:26
Оценка за ответ: 4
Комментарий оценки:
спасиба :)

Отвечает: Ерёмин Андрей
Здравствуйте, Elektronik!

Вот так:
$file = file("guest.dat");
$data = explode("xxxxx",$file[0]);
Explode разделяет строку (2-ой параметр) на массив, используя 1-ый параметр в качестве разделителя.
---------
Жизнь - игра, в которой нет setup'а...
Ответ отправил: Ерёмин Андрей (статус: 7-ой класс)
Отправлен: 14.06.2005, 20:18
Оценка за ответ: 3
Комментарий оценки:
спасиба :)

Отвечает: Lancelot
Здравствуйте, Elektronik!
Во первых я бы тебе рекомендовал сделать разделение табуляцией, т.е. записывать в файл так:
$write = $name." ".$msg." ".$time." ";
fwrite($file, $write");
Ну а теперь твоя головная боль:
$message = file("./guest.dat");
Этой функцией у тебя и получается массив содержащий кол-во элементов, совпадающее с количеством строк. Далее считаем кол-во элементов:
$num = count($message);
Потом рисуешь функцией echo таблицу, после чего запускаем след. цикл:
for ($i = 0; $i < $num; $i++)
{
//Разбиваем каждую строку на массив из 3-х элементов, указывая раздилителем знак табуляции, то бишь :
$line = explode(" ", $message[$i]);
// Получаем массив, в котором переменная $line[1] - Имя, $line[2] - сообщение, $line[3] - время.
Вот и всё! Если о чём-то хотите узнать попобробней то скачай себе документацию с сайта PHP в *.chm формате. Там есть поиск по функциям. Узнаешь много интересного.
Ответ отправил: Lancelot (статус: 6-ой класс)
Отправлен: 14.06.2005, 23:41
Оценка за ответ: 5
Комментарий оценки:
спасиба :) всё просто, ясно и понятно :)

Отвечает: .: JeWeL :.
Здравствуйте, Elektronik!
Нужно делать так!
$a = file("guest.dat"); //здесь переменная $a становится массивом строк файла guest.dat
Теперь Вы можете прочитать любую его строку.Допустим в самом начале файла у вас его версия =),то результат echo $a[0]; будет таким:
Версия 1.0 бета
---------------
Что-то типа того... Удачи!
---------
Искусственный интеллект ничто по сравнению с натуральной глупостью.
Ответ отправил: .: JeWeL :. (статус: 4-ый класс)
Отправлен: 15.06.2005, 07:38


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Отписаться
Вспомнить пароль

В избранное