Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Гостевая книга. Просмотрщик
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Гостевая книга. Просмотрщик

Страниц (1): [1]
 

1. SayT - 06 Июня, 2011 - 15:07:05 - перейти к сообщению
Здравствуйте, у меня есть проблема, я создаю гостевую книгу для сайта, написал создание файлов с каждым новым сообщением. файлы сохраняются в формате mesage.06.06.2011_15.54.36 возникла проблема при создании просмотрщика записей гостевой книги, не могли бы вы мне дать ссылку на пример или кто-нибудь написать, желательно с комментариями чтобы можно было разобраться. Заранее спасибо
2. demot - 06 Июня, 2011 - 15:12:06 - перейти к сообщению
А зачем для каждого сообщения свой файл. Не лучше одним файлом, допустим, так:

messqes.txt
CODE (htmlphp):
скопировать код в буфер обмена
  1. дата|имя|сообщение
  2. дата|имя|сообщение
  3. дата|имя|сообщение


Разделитель взял "|" только для примера, в реале лучше использовать что-нибудь посложнее.
3. SayT - 06 Июня, 2011 - 15:23:17 - перейти к сообщению
demot, тогда можно скрипт который будет считывать это и построчно кнопкой удалить, будет стирать данное сообщение?
4. demot - 06 Июня, 2011 - 16:29:10 - перейти к сообщению
так что ж ты не сказал, что тебе вся эта кухня нужна для удаления сообщений? Улыбка
Тогда при записи сообщения в файл еще лучще добавить какой-нибудь идентификатор сообщения.
вообще такое дело удобней через БД делать, но если нет возможности, тогда можно с помощью такого алкоритма:
1. Читаем файл функцией file() - результат - каждая строка - элемент массива
2. Разбиваем каждый элемент массива с помощью explode(), с необходимым нам разделителем, и затем выводим все это дело примерно так:
CODE (html):
скопировать код в буфер обмена
  1. <input type="checkbox" value="id_сообщения">Само сообщение<br/>

3. Ставим галочки в чекбоксы с сообщениями для удаления. Жмем отправить форму.
4. Пересматриваем снова исходный массив (после применения file() и explode()), если id в массиве совпадает с value чекбокса, то пропускаем элемент, если нет, то формируем новый массив (используя implode()).
5. Только что сформированный массив пишем в файл.

В общем дело ваше конечно, но слишком это по-издевательски, все же лучше через БД, код будет намного проще и управлять ссобщения будет намного легче.
5. SayT - 06 Июня, 2011 - 16:42:22 - перейти к сообщению
С базой данных не вариант, задумано реализовать все без использования бд. Может быть завалялся пример у кого чтобы наглядно посмотреть?

 

Powered by ExBB FM 1.0 RC1