Котеров Д.В. Самоучитель по PHP 4


Предоставленная информация является книгой Котерова Д.В. "Самоучитель PHP4". - СПб.: БХВ-Петербург, 2001. - 576 с.
 


Оглавление

ЧАСТЬ I. ОСНОВЫ WEB-ПРОГРАММИРОВАНИЯ
Глава 1. Принципы работы Интернета
Адресация в Сети
IP-адрес
Доменное имя
Порт
Терминология
Сервер
Узел
Порт
Сетевой демон
Провайдер
Хост
Виртуальный хост
Хостинг-провайдер (хостер)
Хостинг
Сайт
HTML-документ
Страница (или HTML-страница)
Web-программирование
World Wide Web и URL
Протокол
Имя хоста
Порт
Путь к странице
Глава 2. Интерфейс CGI
Что такое CGI?
Секреты URL
Заголовки и метод GET
GET
POST
Content-type
User-Agent
Referer
Content-length
Cookie
Accept
Эмуляция браузера через telnet
Метод POST
Кодировки и форматы данных
Что такое формы и для чего они нужны
Передача параметров "вручную"
Использование формы
Абсолютный и относительный путь к сценарию
Метод POST и формы
Глава 3. CGI изнутри
Передача документа пользователю
Заголовки ответа
Пример CGI-сценария
Передача информации CGI-сценарию
Переменные окружения
Передача параметров методом GET
Передача параметров методом POST
Расшифровка URL-кодированных данных
Формы
Тэг input — различные поля ввода
Тэг textarea — многострочное поле ввода текста
Тэг select — список
Загрузка файлов
Формат данных
Тэг загрузки файла (file)
Что такое Cookies и с чем их едят
Установка Cookie
Получение Cookies из браузера
Пример программы для работы с Cookies
Авторизация
ЧАСТЬ II. ВЫБОР И НАСТРОЙКА ИНСТРУМЕНТАРИЯ. WEB-СЕРВЕР APACHE
Глава 4. Установка Apache
Введение: зачем нужен домашний сервер?
Дистрибутивы и ссылки
От слов к делу: установка Apache
Этап первый: установка
Этап второй: настройка файла конфигурации Apache
Этап третий: тестирование Apache
Виртуальные хосты Apache
Глава 5. Установка PHP и MySQL
Установка PHP
Настройка Apache для работы с PHP
Тестирование PHP
Установка дополнительных модулей
Установка MySQL
Тестирование MySQL
ЧАСТЬ III. ОСНОВЫ ЯЗЫКА PHP
Глава 6. Характеристика языка PHP
Интерпретатор или компилятор?
Достоинства и недостатки интерпретатора
Пример PHP-программы
Использование PHP в Web
Глава 7. Переменные, константы, выражения
Переменные
Типы переменных
Действия с переменными
Определение типа переменной
Установка типа переменной
Оператор присваивания
Ссылочные переменные
Жесткие ссылки
Символические ссылки
Некоторые условные обозначения
string
int, long
double, float
bool
array
list
object
void
mixed
Константы
Предопределенные константы
Определение констант
Проверка существования константы
Выражения
Логические выражения
Строковые выражения
Операции
Арифметические операции
Строковые операции
Операции присваивания
Операции инкремента и декремента
Битовые операции
Операции сравнения
Операции эквивалентности
Логические операции
Оператор отключения предупреждений
Глава 8. Работа с данными формы
Передача данных командной строки
Формы
Трансляция полей формы в переменные
Трансляция переменных окружения и Cookies
Трансляция списков
Трансляция массивов
Глава 9. Конструкции языка
Инструкция if-else
Использование альтернативного синтаксиса
Цикл с предусловием while
Цикл с постусловием do-while
Универсальный цикл for
Инструкции break и continue
Нетрадиционное использование do-while и break
Цикл foreach
Конструкция switch-case
Инструкция require
Инструкция include
Трансляция и проблемы с include
Инструкции однократного включения
Глава 10. Ассоциативные массивы
Создание массива "на лету". Автомассивы
Инструкция list()
Списки и ассоциативные массивы: путаница?
Инструкция array() и многомерные массивы
Операции над массивами
Доступ по ключу
Функция count()
Слияние массивов
Косвенный перебор элементов массива
Прямой перебор массива
Списки и строки
Сериализация
Глава 11. Функции и области видимости
Пример функции
Общий синтаксис определения функции
Инструкция return
Параметры по умолчанию
Передача параметров по ссылке
Переменное число параметров
Локальные переменные
Глобальные переменные
Массив $GLOBALS
Статические переменные
Рекурсия
Вложенные функции
Условно определяемые функции
Передача функций "по ссылке"
Возврат функцией ссылки
Пример функции: Dump()
Несколько советов по использованию функций
ЧАСТЬ IV. СТАНДАРТНЫЕ ФУНКЦИИ PHP
Глава 12. Строковые функции
Конкатенация строк
О сравнении строк и инструкции if-else
Функции для работы с одиночными символами
Функции отрезания пробелов
Базовые функции
Работа с блоками текста
Функции для преобразований символов
Функции изменения регистра
Установка локали (локальных настроек)
Преобразование кодировок
Функции форматных преобразований
Работа с бинарными данными
Хэш-функции
Сброс буфера вывода
Глава 13. Работа с массивами
Сортировка массивов
Сортировка массива по значениям (asort()/arsort())
Сортировка по ключам (ksort()/krsort())
Сортировка по ключам при помощи функции uksort()
Сортировка по значениям при помощи функции uasort()
Переворачивание массива array_reverce()
Сортировка списка sort()/rsort()
Сортировка списка при помощи функции usort()
Перемешивание списка shuffle()
Ключи и значения
Комплексная замена в строке
Слияние массивов
Получение части массива
Вставка/удаление элементов
Переменные и массивы
Создание списка — диапазона чисел
Глава 14. Математические функции
Встроенные константы
Функции округления
Случайные числа
Перевод в различные системы счисления
Минимум и максимум
Степенные функции
Тригонометрия
Глава 15. Работа с файлами
О текстовых и бинарных файлах
Открытие файла
Конструкция or die()
Безымянные временные файлы
Закрытие файла
Чтение и запись
Блочные чтение/запись
Построчные чтение/запись
Чтение CSV-файла
Положение указателя текущей позиции
Функции для определения типов файлов
Определение типа файла
Определение возможности доступа
Определение параметров файла
Специализированные функции
Функции для работы с именами файлов
Функции манипулирования целыми файлами
Другие функции
Блокирование файла
Типы блокировок
Блокировки с запретом "подвисания"
Пример счетчика
Глава 16. Работа с каталогами
Манипулирование каталогами
Работа с записями
Пример: печать дерева каталогов
Глава 17. Каналы и символические ссылки
Каналы
Символические ссылки
Жесткие ссылки
Глава 18. Запуск внешних программ
Глава 19. Работа с датами и временем
Представление времени в формате timestamp
Работа с датами
Григорианский календарь
Глава 20. Посылка писем через PHP
Функция отправки письма
Проблема с кодировками
Посылка в указанной кодировке
Динамическая смена кодировки
Проблема с заголовками
Перспективы: создание "умной" функции для отправки писем
Глава 21. Работа с WWW
Установка заголовков ответа
Вывод заголовка
Запрет кэширования
Получение заголовков запроса
Работа с Cookies
Немного теории
Установка Cookie
Получение Cookie
SSI и функция virtual()
Эмуляция функции virtual()
Глава 22. Основы регулярных выражений в формате RegEx
Начнем с примеров
Пример первый
Пример второй
Выводы
Терминология
Использование регулярных выражений в PHP
Сопоставление
Сопоставление с заменой
Язык RegEx
Простые символы
Квантификаторы повторений
Мнимые символы
Оператор альтернативы
Группирующие скобки
"Карманы"
Дополнительные функции
Примеры использования регулярных выражений
Имя и расширение файла
Имя каталога и файла
Проверка на идентификатор
Модификация тэгов
Преобразование гиперссылок
Преобразование адресов E-mail
Выделение всех уникальных слов из текста
Заключение
Глава 23. Работа с изображениями
Универсальная функция GetImageSize()
Работа с изображениями и библиотека GD
Пример
Создание изображения
Определение параметров изображения
Сохранение изображения
Работа с цветом в формате RGB
Создание нового цвета
Получение ближайшего цвета
Эффект прозрачности
Получение RGB-составляющих
Графические примитивы
Копирование изображений
Прямоугольники
Линии
Дуга сектора
Закраска произвольной области
Многоугольники
Работа с пикселами
Работа с фиксированными шрифтами
Загрузка шрифта
Параметры шрифта
Вывод строки
Работа со шрифтами TrueType
Вывод строки
Определение границ строки
Пример
Глава 24. Управление интерпретатором
Информационные функции
Настройка параметров PHP
error_reporting
magic_quotes_gpc on/off
max_execution_time
track_vars on/off
Контроль ошибок
Оператор отключения ошибок
Пример использования оператора @
Принудительное завершение программы
Финализаторы
Генерация кода во время выполнения
Выполнение кода
Генерация функций
Проверка синтаксической корректности кода
Другие функции
Глава 25. Управление сессиями
Зачем нужны сессии?
Механизм работы сессий
Инициализация сессии
Регистрация переменных
Идентификатор сессии и имя группы
Имя группы сессий
Идентификатор сессии
Другие функции
Установка обработчиков сессии
Обзор обработчиков
Регистрация обработчиков
Пример: переопределение обработчиков
Сессии и Cookies
Явное использование константы SID
Неявное изменение гиперссылок
Неявное изменение формы
Так использовать Cookies в сессиях или нет?
Глава 26. Работа с базой данных MySQL
Неудобство работы с файлами
Устройство MySQL
Соединение с базой данных
Обработка ошибок
Выполнение запросов к базе данных
Язык запросов MySQL
Создание таблицы
Удаление таблицы
Вставка записи
Удаление записей
Поиск записей
Обновление записей
Получение числа записей, удовлетворяющих выражению
Получение уникальных значений столбцов
Получение результата
Параметры результата
Получение поля результата
Получение целой строки результата
Получение информации о результате
Пример использования функций поддержки MySQL
Уникальные идентификаторы в MySQL
Работа с таблицами
Глава 27. Сетевые функции
Работа с сокетами
Функции для работы с DNS
Разрешение IP-адреса в доменное имя и наоборот
Корректный перевод IP-адреса в доменное имя
ЧАСТЬ V. ПРИЕМЫ ПРОГРАММИРОВАНИЯ НА PHP
Глава 28. Загрузка файлов на сервер
Multipart-формы
Тэг выбора файла
Закачка файлов и безопасность
Поддержка закачки в PHP
Простые имена полей закачки
Пример: фотоальбом
Сложные имена полей
Проблемы со сложными именами
Глава 29. Модульность программы. Написание "библиотекаря"
Наши требования
Библиотекарь
Работа с библиотекарем
Автоматическое подключение библиотекаря
Способ первый: использование auto_prepend_file
Способ второй: установка обработчика Apache
Обработчики Apache
Перехват обращений к несуществующим страницам
Связывание PHP с другим расширением
Решение проблемы зацикливания обработчика
Глава 30. Код и шаблон страницы
Идеология
Двухуровневая схема
Шаблон страницы
Генератор данных
Взаимодействие генератора данных и шаблона
Недостатки
Трехуровневая схема
Шаблон страницы
Диаграммы двухуровневой и трехуровневой моделей
Интерфейс
Ядро
Проверка корректности входных данных
Шаблонизатор
Традиционное построение страниц
Что такое шаблонизатор?
Описание шаблонизатора
Обработчик Apache для шаблонизатора
Главный модуль шаблонизатора
"Перехват" выходного потока
Стек буферов
Проблемы с отладкой
Глава 31. Объектно-ориентированное программирование на PHP
Классы и объекты
Свойства объекта
Методы
Класс таблицы MySQL
Доступ объекта к своим свойствам
Инициализация объекта. Конструкторы
Деструктор
Наследование
Полиморфизм
Полноценный класс таблицы MySQL
Копирование объектов
Ссылки и интерфейсы
Возврат ссылки на объект
Возврат интерфейса
Глава 32. Почтовые шаблоны
Мини-шаблонизатор
Отправка и перекодирование писем
Пример
Глава 33. Разные советы
Разделенные вычисления
Использование самопереадресации
Запрет кэширования страниц
Несколько слов о флажках checkbox
ЧАСТЬ VI. ПРИЛОЖЕНИЯ
Приложение 1. Файл конфигурации Apache httpd.conf
Приложение 2. Файл конфигурации PHP php.ini