
- •В.С. Романчик
- •Глава 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. Популярные веб-приложения и фреймворки
- •Фреймворки
Получение информации об изображении
Функции imagesx() и imagesy(), возвращают значения, соответственно, ширины и высоты (в пикселях) изображения для данного ресурса. Синтаксис этих функций выглядит следующим образом:
imagesx($img); imagesy($img).
Еще одна похожая функция – это функция getimagesize().
Для изображений в натуральном цвете, расширение GD предлагает функцию imageistruecolor():
imageistruecolor($img);
Эта функция возвращает булевское значение true, если переданный ей ресурс изображения $img имеет натуральный цвет; в противном случае она возвращает значение false.
Если необходимо узнать, может ли РНР работать с конкретным типом изображений, то лучше всего использовать функцию imagetypes () ;
При выполнении эта функция возвращает битовое поле, сформированное из констант: IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP с использованием логического "ИЛИ". Рассмотрим пример:
<?php
$supported = imagetypes();
if($supported & IMG_JPG) {
echo "версия GD поддерживает изображения в формате JPEG."; }
else {
echo "версия GD не поддерживает изображения в формате JPEG.";
}
?>
Функции рисования прямых и кривых линий
РНР поддерживает рисование линий, прямоугольников, окружностей, эллипсов и многоугольников и построение заполненных форм. Можно выбирать способ рисования линии с помощью стилей и кистей.
В языке РНР рисование линий на холсте осуществляется с помощью функции imageline():
imageline($img,$start_x, $start_y, $end_x, Send_y, $color);
Параметр $img представляет ресурс изображения для рисования прямой линии, начиная с точки, координаты которой определяются параметрами ($start_x, $start_y), до точки с координатами ($end_x, $end_y) с цветом, определяемым параметром $color. Для рисования многоугольников и прямоугольников используются функции imagepolygon () и imagerectangle(), соответственно.
Синтаксис функции imagerectangle () имеет следующий вид:
imagerectangle($img,$topL_x,$topL_y,$bR_x,$bR_y,$color);
Размеры и расположение прямоугольника определяются точками верхнего левого угла ($topL_x, $topL_y) и нижнего правого угла ($bR_x, $bR_y).
Синтаксис функции imagepolygon() выглядит следующим образом:
imagepolygon($img, $points, $num_points, $color);
Параметр $points представляет массив, содержащий координаты (X ;Y) каждой вершины, $num_points —общее количество пар (X, Y) в массиве. Рассмотрим пример:
<?php //imagepr6.php
// Create a 500 x 500 image
define("WIDTH", 500);
define("HEIGHT", 500);
$canvas = imagecreatetruecolor(WIDTH, HEIGHT);
// Allocate colors
$pink = imagecolorallocate($canvas, 255, 105, 180);
$green = imagecolorallocate($canvas, 132, 135, 28);
$white = imagecolorallocate($canvas, 0xFF, 0xFF, 0xFF) ;
$black = imagecolorallocate($canvas, 0, 0, 0);
// Draw three rectangles each with its own color
imagerectangle($canvas, 50, 50, 150, 150, $pink);
imagerectangle($canvas, 45, 60, 120, 100, $white);
imagerectangle($canvas, 100, 120, 75, 160, $green);
$num=5;
$mycolor=$white;
$color=0xff;
//рисование прямой
imageline($canvas, 0,0,500,500, $mycolor);
$points = array(20,20,50,HEIGHT/2,WIDTH/2,400,WIDTH-10,HEIGHT-10, WIDTH-10, 0);
//Рисование многоугольника
imagepolygon($canvas, $points, $num, $color);
// Output and free from memory
header('Content-Type: image/jpeg');
imagejpeg($canvas);
imagedestroy($canvas);
?>
GD поддерживает рисование кривых линий, посредством функций imagearc() и imageellipse(). Синтаксис функции, imageellipse ():
imageellipse($img,$centerx,$centery,$width,$height,$color);
Параметры $centerx и $centery задают координаты центра эллипса. Форма эллипса определяется параметрами $width и $height. Окружность является частным случаем эллипса. Функция imageellipse() тоже является частным случаем — по отношению к функции рисования дуги. Синтаксис этой функции:
imagearc($img, $center_x, $center_y,$width,$height, $start_ang, $end_ang,$color);
Функция imagearc() требует два дополнительных параметра, $start_ang и $end_ang, которые представляют угол в градусах. Рассмотрим пример использования функций imageellipse() и imagearc()
<?php //imagepr7.php
define("WIDTH", 200);
define("HEIGHT", 100);
$img = imagecreate(WIDTH+100, HEIGHT+200);
$bg = imagecolorallocate($img, 0, 0xFF, 0);
$black = imagecolorallocate($img, 0, 0, 0);
$red = imagecolorallocate($img, 0xFF, 0, 0);
$center_x = (int)WIDTH/2; $center_y = (int)HEIGHT/2;
imageellipse($img, $center_x, $center_y, WIDTH, HEIGHT, $black);
imagearc($img, $center_x, $center_y, WIDTH-5, HEIGHT-5, 0, 360, $red);
header("Content-Type: image/png");
imagepng($img);
?>
Ноль градусов начинается с оси ox.