Оглавление Введение 1
Благодарности 3
Глава 1. Установка и настройка PHP, Web-сервера Apache и MySQL-сервера 5
Где взять дистрибутивы? 5
Дистрибутив PHP 6
Дистрибутив Apache 7
Дистрибутив MySQL 8
Установка Web-сервера Apache в среде Windows 9
Установка Web-сервера Apache в среде Linux 12
Настройка виртуальных хостов 13
Настройка кодировки по умолчанию 17
Управление запуском и остановкой Web-сервера Apache 17
Управление Apache из командной строки 19
Установка PHP в среде Windows 20
Установка PHP в качестве модуля 20
Установка PHP, как CGI-приложения 21
Установка PHP в среде Linux 23
Общая настройка конфигурационного файла php.ini 24
Настройка и проверка работоспособности расширений PHP 28
PHP как консольный интерпретатор 29
Планировщик заданий или работа с cron 33
Установка СУБД MySQL в среде Windows 35
Установка СУБД MySQL на платформу Linux 50
Web-интерфейс phpMyAdmin 53
Глава 2. Приемы конфигурирования Web-сервера Apache 55
Конфигурационный файл .htaccess 56
Установка кодировки по умолчанию 58
Список файлов в каталоге 60
Выполнение PHP-кода в HTML-файлах 65
Страницы ошибок Web-сервера Apache 65
Переадресация 70
Запрет на доступ к ресурсу 71
Запрет загрузки файлов 74
Защита сайта паролем 74
Управление директивами конфигурационного файла php.ini 76
Преобразование URL-адресов 77
Глава 3. Работа с HTML-формами 87
Отправка данных методом GET 87
Отправка данных методом POST 91
Транзитные обработчики 93
Загрузка файлов на сервер 95
Загрузка произвольного числа файлов на сервер 100
Защита скриптов загрузки файлов на сервер 103
Проверка правильности ввода чисел 107
Проверка правильности ввода е-mail 109
Разбивка длинной строки 111
Проверка правильности ввода имени 112
Только русский текст! 114
Глава 4. Массивы и строки 115
Передача массива из HTML-формы 116
Вывод случайного элемента массива 119
Суперглобальный массив $_COOKIE 120
Суперглобальный массив $_SESSION 126
Суперглобальный массив $_SERVER 129
Элемент $_SERVER[\'DOCUMENT_ROOT\'] 130
Элемент $_SERVER[\'HTTP_ACCEPT\'] 130
Элемент $_SERVER[\'HTTP_ACCEPT_LANGUAGE\'] 132
Элемент $_SERVER[\'HTTP_HOST\'] 132
Элемент $_SERVER[\'HTTP_REFERER\'] 132
Элемент $_SERVER[\'HTTP_USER_AGENT\'] 133
Элемент $_SERVER[\'REMOTE_ADDR\'] 135
Элемент $_SERVER[\'SCRIPT_FILENAME\'] 136
Элемент $_SERVER[\'SERVER_NAME\'] 136
Элемент $_SERVER[\'REQUEST_METHOD\'] 137
Элемент $_SERVER[\'QUERY_STRING\'] 137
Элемент $_SERVER[\'PHP_SELF\'] 138
Элемент $_SERVER[\'REQUEST_URI\'] 138
Кавычки 139
Форматирование строк 142
Вывод массива в три столбца 150
Календарь 153
Глава 5. Работа с файлами и каталогами 159
Конструкции include и require —в чем различие? 159
Открытие файлов 162
Закрытие файлов 165
Запись в файл 166
Чтение из файла 167
Вывод случайной строки из файла 174
Изменение порядка следования строк в файле 176
Редактирование файла 179
Сортировка текстового файла 183
Постраничная навигация 188
Счетчик загрузки файлов 191
Редактирование файлов на сервере 194
Копирование, переименование и удаление файлов 197
Атрибуты файлов 199
Определение размера файла 200
Определение даты создания цифровой фотографии 201
Права доступа 202
Чтение содержимого каталога 204
Создание и удаление каталогов 206
Список файлов и подкаталогов 208
Число файлов в каталоге 209
Копирование содержимого одного каталога в другой 211
Загрузка нескольких файлов на сервер 212
Загрузка файла на сервер по частям 215
Глава 6. Работа с СУБД MySQL 219
Соединение с MySQL 220
Закрытие соединения с СУБД MySQL 222
Выбор текущей базы данных 223
Выполнение запросов 225
Извлечение содержимого таблиц 228
Определение количества записей в результирующей таблице 237
Система регистрации 240
Система авторизации 248
Базовая HTTP-авторизация 251
Пользователи on-line 254
Постраничная навигация 257
Алфавитная навигация 261
Сортировка 264
Двойной выпадающий список 266
Одновременное удаление нескольких позиций 273
Хранение MP3-файлов в базе данных 276
Хранение изображений в базе данных 280
Глава 7. Работа с протоколом HTTP 285
Загрузка страницы с удаленного хоста 286
Получение HTTP-заголовков с сервера 292
Определение размера файла на удаленном хосте 294
Отправка данных методом POST 295
Извлечение ссылки с Yandex 297
Извлечение ссылки с Google 300
Извлечение ссылки с Rambler 307
Извлечение ссылки с Aport 310
Взаимодействие с Whois-сервисом 313
Занят домен или нет? 320
Глава 8. Электронная почта 325
Отправка почтового сообщения 325
Отправка письма с вложением 327
Рассылка писем 331
Отправка почтового сообщения через SMTP-ретранслятор 332
Определение адреса почтовых ретрансляторов 334
Определение количества сообщений и размера почтового ящика 335
Чтение почтовых заголовков 340
Удаление почтового сообщения 346
Заключение 347
Приложение. Описание компакт-диска 349
Предметный указатель 351
VI Оглавление V Оглавление