Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%
Простой чат на PHP
Здравствуйте, уважаемые читатели блога LifeExample, в этой статье я хотел бы привести пример скрипта реализующего простой чат на php. Это простой скрипт чата сделан на основе PHP и JavaScript, с использованием OOP и AJAX.
Для работы с этим скриптом чата на php не нужна база данных.
Скрипт работает с текстовыми файлами, сохраненными на сервере, поэтому очень быстрый и не занимает много ресурсов сервера. Пользователь может добавить в чат смайлы и применять форматирование шрифтов текстовых сообщений: "жирный", "курсив", "подчеркивание". Имеется поддержка смайлов.
В чате имеется поддержка никнеймов, разделение по комнатам, настройки ВКЛ/ВЫКЛ для звукового сигнала сохраняются в cookies (на один день). Поэтому, при следующем визите их можно прочитать и воспользоваться с помощью файлов cookie. Скрипт был успешно протестирован на Mozilla Firefox, Internet Explorer, Google Chrome и Opera.
Минимальные требования для нашего чата на PHP следующие:
- PHP 5+
- Браузер с подключенным JavaScript (желательно с поддержкой для CSS3).
Как установить чат на PHP
После распаковки архива script_chat_simple.zip, скопируйте на сервер файл chat.php, папки: chatfiles, chattxt и chatex (со всеми файлами, в ту же самую директорию, в которой у вас находится файл, куда вы хотите включить чат). Файл test.php для теста.
Установите разрешения на чтение — запись — распаковку на директорию chattxt, CHMOD 0777 (или 0755). В этой директории PHP сохранит TXT файлы с чатом для каждой комнаты чата.
Добавьте следующий код в PHP файл, в который вы хотите включить этот скрипт чата:
1 | <?php include('chat.php'); ?> |
Для надлежащей работы HTML страницы, возьмите эту строку кода (для CSS свойств) сначала файла chat.php:
1 | <link rel="stylesheet" type="text/css" href="chatfiles/chatstyle.css" /> |
Затем перенесите его в основной раздел страницы, куда вы вставили скрипт.
Этот скрипт также можно вставить в ".html" файлы, с помощью тегов <object> или <iframe> (но на сервере должен запускаться PHP). Поэтому для того чтобы добавить скрипт чата в ".html" файл (блог, форум), используйте один из следующих кодов:
1 2 | <object type="text/html" data="dir/chat.php" width="620" height="480"></object> |
Или IFrame:
1 2 | <iframe src="dir/chat.php" width="100%" height="480" scrolling="auto" frameborder="0" name="frame_chat"> </iframe> |
dir/chat.php — путь к директории или файлу, где находится ваш скрипт. Если в той же папке, напишите только "chat.php".
Админские настройки
В файле setchat.php (в chatfiles/ директория) вы можете изменить настройки чата на php по умолчанию.
По умолчанию скрипт сохраняет и показывает последние 30 строк чата. Вы можете изменить этот номер в строке кода:
1 | define('MAXROWS', 30); |
С помощью этого скрипта пользователи могут добавлять ссылки в чат (с атрибутом rel="nofollow"), но, если вы хотите удалить эту опцию, замените 1 на 0 в строке кода:
1 | define('CHATLINK', 1); |
В следующей строке кода вы можете установить пароль, который вы будете использовать для очистки истории чата (замените "adminpass" на желаемый вами пароль):
1 | define('CADMPASS', 'adminpass'); |
Для очистки истории чата обратитесь через браузерер в файл chatfiles/setchat.php с ?mod=admin в URL-ле. Например:
1 | http://localhost/chatfiles/setchat.php?mod=admin |
Затем выберите историю чата на php, которую вы хотите удалить и введите пароль установленный в директиве CADMPASS.
Если у вас на сайте установлен скрипт регистрации и авторизации и вы хотите чтобы функция чата была доступна только зарегистрированным пользователям, установите константу CHATADD в значение 0. Затем установите $_SESSION[‘username’] в сессию используемую вашим скриптом для удержания авторизированных пользователей на следующий код в "setchat.php".
В этом случае вам необходимо добавить session_start(); в начало PHP файла, по примеру файла "test.php".
1 2 3 4 | define('CHATADD', 1); if(CHATADD !== 1) { if(isset($_SESSION['username'])) define('CHATUSER', $_SESSION['username']); } |
Смена звуков для чата на PHP
В директории "chatex/" представлены два дополнительных WAV файла: beep2.wav и beep3.wav. По умолчанию в скрипте используется beep1.wav. Если вы хотите изменить звуковой файл, который проигрывается при добавлении нового текстового сообщения в чате, измените в файле chatfunctions.js (строка 13) значение переменной:
1 | var beepfile = 'beep1.wav'; |
Первоначально в скрипте "Чат на PHP" содержится две чат комнаты: на английском языке и языке по умолчанию. Если вам нужна только одна чат комната удалите строку кода, которая содержит переменную $chatrooms[] после названия чат комнаты. Для изменения названия комнаты измените число соответствующих переменных.
Если вам нужно больше чат комнат добавьте переменные $chatrooms[] со следующим синтаксисом:
1 | $chatrooms[] = 'chatroom_name'; |
В этом скрипте, реализующим чат на PHP, предусмотрена функция автоматического создания текстовых файлов для каждой чат комнаты, но обязательно должно быть установлено разрешение на запись (CHMOD 0777, или 0755) в директории chattxt. Скрипт можно легко изменить для использования на других языках. Достаточно перевести текст в файле texts.php (в папке chatfiles/). Если вы хотите изменить цвет и дизайн чата, отредактируйте CSS свойства в chatstyle.css ( или chatstyle_mini.css, в мини версии), в папке chatfiles/. Файл chatstyle_mini.css может быть использован в целях экономии трафика пользователей чата.
На этом я завершаю обзор скрипта чата, надеюсь данная статья поможет вам создать чат на PHP. Приятной работы!
Читайте также похожие статьи:
Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.
Комментарии
А можете создать пример легкого онлайн-консультанта для сайта, без всяких там спецфункций. А то на просторах интернета ничего простого не найти, одни платные с кучей всяких ненужных фишек и очень тяжелые и сложные
Большое спасибо! Статья очень помогла!
Как сделать чтобы ник можно вводить по русски?
«Как сделать чтобы ник можно вводить по русски?»
Почитать референс по PHP.
не плохо )
Спасибо большое, за хороший скрипт!
Установил. Всё работает отлично!
Новые сообщения получаются только после отправки своего сообщения, как сделать чтобы сообщения появлялись автоматически?
Установил. Всё работает. Наконец-то чат, который можно настроить под себя. Спасибо!
Как добавить смайлы. при добавлении вместо оформленного чата получается такое — «{«time»:1452598498,»users»:{«1452598498″:»ggg»},»chats»:[{«user»:»ggg»,»date»:»12 January 17:33″,»chat»:»(fak)»},{«user»:»ggg»,»date»:»12 January 17:34″,»chat»:»:)»},{«user»:»ggg»,»date»:»12 «
Как добавить больше смайлов?
Жаль, что не реализована функция удаления сообщений, в случае СПАМа нужно будет чистить всю историю( Странно как-то, что не предусмотрели.
Написано, что для смены языка сообщений нужно перевести текст в файле. А какой именно текст ? Который выводится или который в переменной ?
ппц … весь день лазил по говнокаталогам, перекачал херову тучу говночатов! НАКОНЕЦ ТО НАШЕЛ ПРИЛИЧНЫЙ !!! Спасибо огромное.