Добро пожаловать на авторский блог Авдеева Марка.

Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%

<<< Как сделать плагин для Moguta.CMS || Интеграция PayPal, простой PHP класс >>>

Простой чат на PHP

07.12.2013
Простой чат на PHP

Здравствуйте, уважаемые читатели блога LifeExample, в этой статье я хотел бы привести пример скрипта реализующего простой чат на php. Это простой скрипт чата сделан на основе PHP и JavaScript, с использованием OOP и AJAX.

Для работы с этим скриптом чата на php не нужна база данных.

Скрипт работает с текстовыми файлами, сохраненными на сервере, поэтому очень быстрый и не занимает много ресурсов сервера. Пользователь может добавить в чат смайлы и применять форматирование шрифтов текстовых сообщений: "жирный", "курсив", "подчеркивание". Имеется поддержка смайлов.

В чате имеется поддержка никнеймов, разделение по комнатам, настройки ВКЛ/ВЫКЛ для звукового сигнала сохраняются в cookies (на один день). Поэтому, при следующем визите их можно прочитать и воспользоваться с помощью файлов cookie. Скрипт был успешно протестирован на Mozilla Firefox, Internet Explorer, Google Chrome и Opera.

Скачать простой чат на php ( Скачали: 4036 чел. ) 

Минимальные требования для нашего чата на 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 ленту блога.

Нравится

Комментарии

  • Lexa

    А можете создать пример легкого онлайн-консультанта для сайта, без всяких там спецфункций. А то на просторах интернета ничего простого не найти, одни платные с кучей всяких ненужных фишек и очень тяжелые и сложные

  • Денис

    Большое спасибо! Статья очень помогла!

  • леша

    Как сделать чтобы ник можно вводить по русски?

  • леша-лах

    “Как сделать чтобы ник можно вводить по русски?”
    Почитать референс по PHP.

  • boris93rus

    не плохо )

  • Виктор

    Спасибо большое, за хороший скрипт!
    Установил. Всё работает отлично!

  • Анатолий

    Новые сообщения получаются только после отправки своего сообщения, как сделать чтобы сообщения появлялись автоматически?

  • Андрей

    Установил. Всё работает. Наконец-то чат, который можно настроить под себя. Спасибо!

  • Пётр

    Как добавить смайлы. при добавлении вместо оформленного чата получается такое – “{“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

  • petr

    Как добавить больше смайлов?

  • Алексей

    Жаль, что не реализована функция удаления сообщений, в случае СПАМа нужно будет чистить всю историю( Странно как-то, что не предусмотрели.

  • Оставить комментарий

    Подписаться на комментарии к этой статье по RSS

    Размещение статей и контекстных ссылок
    Бесплатная CMS для вашего магазина
    Яндекс.Метрика