
- •В.С. Романчик
- •Глава 2. Использование php.
- •Глава 3.
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и директива error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и от сервера клиенту
- •Клиентские методы http get, post, head
- •Обработка html-форм и передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Ниже рассмотрен еще один пример передачи данных из клиентской формы на сервер по методу get
- •Передача данных на сервер по методу post
- •Php и обработка различных форм
- •Примеры обработки форм
- •Работа с e-mail
- •Отправка почты на php (Функция mail)
- •Cookies-наборы: сохраненное состояние
- •Сессии (Сеансы) Переменные сеанса
- •Отмена регистрации сеансовых переменных
- •Работа с сеансовыми переменными
- •Постоянные данные, использующие сеансы и cookie-наборы
- •Вывод графических данных с помощью рнр Основной способ создания изображений
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Работа с палитрой изображения
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование специальных стилей для заливки
- •Использование шрифтов и вывод строк
- •Манипулирование и копирование изображений
- •Создаём графический информер на php
- •Слияние изображений с помощью gd
- •Включения удаленных файлов
- •Различные приложения и полезные скрипты на php
- •Пример. Определение типа и версии браузера
- •Генератор паролей на php
- •Время выполнения скрипта
- •Календарь
- •Загрузка файла от клиента на сервер
- •Работа с ftp на уровне php
- •Сбор статистики на php
- •Проверка ввода емайл
- •Чтение почты через Web-интерфейс
- •Разработка собственных листов рассылки
- •Рассылаем письма
- •Добавляем адреса в список рассылки
- •Редактирование адресов
- •Автоответчик
- •Почтовые функции в рнр
- •Задания для выполнения
- •Приложение 1. Протокол передачи гипертекстов http
- •Клиентские методы и заголовкиHttp
- •Указатель ссылки ("Referer")
- •Медиа-типы
- •Кодирование
- •Безопасность и авторизация
- •Кэширование содержимого http на стороне клиента
- •Http идентификация с php
- •Сжатие данных в протоколе http
- •Модель ajax: между загруженной в браузер страницей и сервером появляется прослойка - уровень ajax, который обеспечивает следующую последовательность выполнения приложения.
- •Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием
- •Информируйте пользователя
- •Нет принципов написания кода
- •Аутентификация средствами php
- •Отделение клиентская части программы от серверной части и шаблоны
- •Использование шаблонов в php
- •Шаблоны подстановки
- •Создаем свои шаблоны в php
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Метатеги
- •Способы включения каскадных таблиц стилей
- •Синтаксис
- •Группирование
- •Наследование
- •Множественные классы.
- •Селекторы идентификаторов (id-селекторы).
- •Комментарии
- •Свойства шрифтов.
- •Свойства текста.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование.
- •Границы элементов.
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •Css. Примеры
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Приложение 11. Популярные веб-приложения и фреймворки
- •Фреймворки
Использование шрифтов и вывод строк
Расширение GD поддерживает три библиотеки шрифтов (TILib, FreeType и FreeType2), что дает возможность использовать в изображениях шрифты PostScript и TrueType. Кроме этого, расширение GD предлагает дополнительно пять внутренних шрифтов.
Использование внутренних шрифтов не представляет сложности, и сводится к работе с функцией:
imagestring($img_r, $font, $start_x, $start_y, $str, $color);
Параметр $img_r представляет ресурс изображения, $color — ресурс цвета, который будет использоваться при выводе текста. Параметр $font определяет используемый шрифт посредством целого числа (от 1 до 5), а параметры $start_x и Sstart_y задают координаты текста. Параметр $str определяет строку, которую необходимо отобразить. Использование функции imagestring ()
<?php //imagepr18
define("WIDTH", 300); define("HEIGHT", 100);
$img = imagecreate(WIDTH, HEIGHT);
$white = imagecolorallocate($img, 255,255,255);
$black = imagecolorallocate($img, 0,0,0);
imagerectangle($img, 0, 0, WIDTH-1, HEIGHT-1, $black);
$start_x = 15; $start_y = 15;
for($font_num = 1; $font_num <= 5; $font_num++)
{ imagestring($img, $font_num, $start_x , $start_y, "Font #$font_num", $black);
$start_y += 15;
}
header("Content-type: image/png") ;
imagepng($img) ;
?>
Расширение GD делает внутренние шрифты более универсальными, позволяя отображать текст иа холсте вертикально и горизонтально. Для этих целей служит функция imagestringup(). По своим параметрам она идентична функции imagestring (); однако вместо того, чтобы отображать текст горизонтально от точки, определяемой координатами $start_x и $start_y, функция imagestringup() отображает текст вертикально.
При работе с внутренними шрифтами расширения GD (или специальными растровыми шрифтами) можно определять значения их ширины и высоты с помощью функций imagefontwidth($font) и imagefontheight($font).
Параметр $font представляет ресурс шрифта, для которого необходимо получить значения ширины и высоты в пикселях.
Манипулирование и копирование изображений
Дня начала рассмотрим копирование части или всего изображения в память компьютера для переноса па другой холст. Из всех функций чаще всего применяется функция imagecopy(), которая имеет следующий синтаксис:
imagecopy($dest, $src, $dest_x, $dest_y, $src_x, $src_y, $src_w, $src_h);
Параметры $dest и $src представляют ресурсы изображений для конечного и исходного холстов, соответственно. Параметры $dest_x и $dest_y представляют координаты конечного холста, куда будет скопирована часть исходного изображения, а параметры $src_x, $src_y, $src_w и $src_h определяют область копирования из исходного изображения. Рассмотрим пример:
<?php //imagepr19
// Create image instances
$src = imagecreatefromgif('molenr.gif');
$dest = imagecreatetruecolor(100, 100);
// Copy
imagecopy($dest, $src, 0, 0, 30, 30, 130,130);
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>
Рассмотрим другие функции семейства imagecopy(). Первой из них является функция imagecopymerge(), синтаксис которой выглядит следующим образом:
imagecopymerge($dest_img_r, $src_img_r, $dest_x, Sdest_y, $src_x, $src_y, $src_w, $src_h, $percent);
Первые восемь параметров идентичны таким же параметрам функции imagecopy (), а параметр Spercent представляет процент (1 = 1%) совмещения исходного изображения с конечным изображением. Если этот параметр будет иметь значение 100, то функция будет вести себя точно так же, как и функция imagecopy ().