Оценить:
 Рейтинг: 0

PHP. Разработка модуля комментариев для сайта

Год написания книги
2021
Теги
<< 1 ... 4 5 6 7 8 9 10 11 12 ... 78 >>
На страницу:
8 из 78
Настройки чтения
Размер шрифта
Высота строк
Поля

$files1 = preg_grep('~\.(jpeg|jpg|png|gif)$~', scandir($dir));//делаем массив из картинок в папке smiles

try {

$sql = 'INSERT INTO smiles SET

smile = :smile,

path = :path';

$s = $dsn->prepare($sql);

foreach ($files1 as $val) {

$smile = pathinfo($val, PATHINFO_FILENAME); //получаем путь к смайлу

$smile = str_replace($smile, ":$smile:", $smile); //делаем условное обозначение смайла

$path = '/chat/say/smiles/'.$val;//строим наш путь к смайлу

$s->bindValue(':smile', $smile);

$s->bindValue(':path', $path);

$s->execute();

}

} catch (PDOException $e) {

echo $e->getMessage();

echo $e->getLine();

exit();

}

echo '<br>'.'Все таблицы успешно созданы';

В этом файле мы сначала включаем вывод всех сообщений об ошибках кодом: error_reporting(E_ALL). Это необходимо на этапе разработки, чтобы иметь возможность сразу выявлять и обрабатывать ошибки. После отладки всего приложения данную строку необходимо будет или удалить или закомментировать.

Затем подключаемся к СУБД MySQL. Для подключения необходимы следующие параметры:

Имя хоста: $host = "localhost";

Имя пользователя СУБД: $root = "root";

Пароль к СУБД: $root_password = "";

Для подключения к БД:

Название БД: $db = "beseder",

Первые три значения по умолчанию. На реальном сайте предоставляются «хостером». Четвертый параметр это название для создаваемой новой базы данных. В ней будут хранится комментарии, ее название придумывается самостоятельно. У меня БД названа «beseder».

Далее подключаемся к СУБД MySQL при помощи PDO (PHP Data Objects), PDO определяет интерфейс для доступа к базам данных в PHP[manual]. Подключение выполняется согласно мануала PDO с явным перехватом ошибок в блоке catch[7].

Внимание! далее все подключения к бд будут выполнятся только с использованием блоков try и Catch

При успешном создании БД выводится сообщение: 'База создана (OK!)Имя базы $db’. После создания базы закрываем подключение.

Снова открываем подключение, но теперь коннектимся не к СУБД, а к созданной БД. Создаем и затем выполняем SQL запросы на создание таблиц.

Типы полей для хранения данных принимаем следующие:

– для чисел «int»;

– для текста «text»;

– для коротких строк «varchar».

Смайлы, выделены в отдельный блок. Принцип работы следующий, проверяем папку «smiles» на наличие картинок:

$files1 = preg_grep('~\.(jpeg|jpg|png|gif)$~', scandir($dir));

где preg_grep возвращает массив, состоящий из элементов входящего массива, которые соответствуют заданному шаблону, в данном случае из папки «smiles» возвращаются только «картинки».

Создаем в цикле условные обозначения для смайлов:

$smile = pathinfo($val, PATHINFO_FILENAME);

$smile = str_replace($smile, ":$smile:", $smile);

где pathinfo – возвращает информацию о пути к файлу,

str_replace (что меняем, на что меняем, где меняем) – заменяет все вхождения строки поиска на строку замены;

и строим пути к картинкам:

$path = '/say/smile/'.$val;

При успешном завершении кода выводим сообщение:

echo '<br>'.'Все таблицы успешно созданы';

Запускаем сайт. Добавляем после «news» в адресную строку /chat/admin/createbase.php. Обновляем страницу. Должно получиться следующее.

Рис. 11 Результат работы файла createbase.php
<< 1 ... 4 5 6 7 8 9 10 11 12 ... 78 >>
На страницу:
8 из 78