- •В.С. Романчик
- •Глава 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. В следующем примере информация о библиотеке функций GD получена с помощью функции gd_info() в виде ассоциированного массива.
<?php //imagepr0.php
print_r(gd_info());
?>
Результат:
Array
(
[GD Version] => bundled (2.0.34 compatible)
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] => 1
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XPM Support] =>
[XBM Support] => 1
[JIS-mapped Japanese Font Support] =>
)
Создание изображений в GD происходит так. Вначале в памяти компьютера создается "холст" для изображения. Затем на холст наносятся цвета. После этого выполняется рисование на холсте. Готовый рисунок либо сохраняется в файле либо передается для отображения браузеру. Ненужный холст затем можно удалить из памяти.
Холсты для рисования создаются на основе палитры или в натуральном цвете. Для создания новых палитр используется функция imagecreate(), возвращающая ссылку на холст или false в случае неудачи:
$img=imagecreate($width, $height);
Параметры $width и $height определяют значения ширины и высоты холста, в пикселях. После создания нового холста необходимо распределить его цвет палитры с помощью функции imagecolorallocate():
imagecolorallocate($img, $red, $green, $blue);
Параметр $img представляет cсылку на холст, на который распределяется цвет, а параметры $red, $green и $blue представляют целые числа от 0 до 255 (от 0x0 до 0xFF) для определения красного, зеленого и синего цветов. Если цвет был распределен удачно, функция возвращает целочисленный индекс, соответствующий положению цвета в палитре; в противном случае она возвращает -1.
С помощью соответствующих функций выполняется рисунок на холсте. При создании нового изображения, первый цвет, распределяемый для палитры, автоматически присваивается всему изображению как цвет фона.
Полученное изображение необходимо сохранить в файле или переслать для вывода в окне браузера. Если использовать при этом формат PNG, то вызывается функция imagepng (). Синтаксис этой функции выглядит следующим образом:
imagepng($img[, Sfilename]);
Аналогично используется функция imagejpeg($img, "image.jpeg");
Параметр $img представляет ссылку на ресурс изображения, а необязательный параметр $filename — имя файла, в котором будет храниться изображение. Если имя файла не указано, функция выведет изображение непосредственно в окне браузера. Например:
<?php //imagepr1.php
$width=200; $height=200;
$img = imagecreate($width, $height);//создание холста
$red=0xff; $green=0; $blue =0;
imagecolorallocate($img, $red,$green,$blue);//палитра
header("Content-type: image/png");
imagepng($img);//вывод в окно браузера
?>
Для вывода изображений в других форматах могут использоваться следующие функции: image2wbmp () — вывод изображения а формате WBMP; imagejpeg () — вывод изображения в формате JPEG; imagegd() — вывод изображения в формате GD; imagegd2 () — вывод изображения в формате GD2. В следующем примере изображение квадрата помещается в файл image.jpeg
<?php //imagepr2.php
$width=400; $height=400;
$img = imagecreate($width, $height);
$red=0; $green=0xff; $blue =0xff;
imagecolorallocate($img, $red,$green,$blue);
header("Content-type: image/jpeg");
imagejpeg($img, "image.jpeg");//вывод в файл
?>
Вместо того, чтобы создавать изображение на основе палитры, можно создать изображение в натуральном цвете с помощью функции imagecreatetruecolor ().
<?php//imagephp3.php
header ('Content-type: image/png');
//gif не поддерживает
$im = @imagecreatetruecolor(200, 20)
or die('Cannot Initialize new GD image stream');
$t_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $t_color);
imagepng($im);
imagedestroy($im);
?>
