2012г.
Количество страниц: 400
В книге PHP на примерах 2-е изд. Кузнецов рассмотрены приемы программирования на PHP, позволяющие разрабатывать современные эффективные Web-приложения. Использованы многочисленные примеры, взятые из реальной практики. Первое издание книги под названием "PHP 5 на примерах" охватывало только пятую версию языка. Второе издание полностью обновлено и переработано. Рассмотрено взаимодействие PHP-приложений с Web-сервером Apache и СУБД MySQL, извлечение информации с удаленных серверов, взаимодействие с браузером посредством технологии AJAX, использование библиотеки jQuery. Показаны тонкости работы с HTTP-протоколом, ньюансы ReWrite-преобразований, особенности применения интеллектуальных агентов на PHP. Приведены примеры защиты Web-приложений, работы с графикой, Flash и PDF-документами, оптимизации кода и решения ряда других важных задач.
Оглавление книги
PHP на примерах 2-е изд. Кузнецов
Оглавление Введение 9
Где искать помощи 10
Благодарности 10
Глава 1. Установка Web-сервера Apache, интерпретатора PHP и СУБД MySQL
11
1.1. Что нужно, чтобы запустить PHP-скрипт 11
1.2. Можно ли обойтись без утомительной настройки серверов и PHP 12
1.3. Где взять дистрибутивы 12
1.3.1. Дистрибутив PHP 13
1.3.2. Дистрибутив Apache 13
1.3.3. Дистрибутив MySQL 14
1.4. Установка Web-сервера Apache 14
1.5. Настройка виртуальных хостов 19
1.6. Управление запуском и остановкой Web-сервера Apache 22
1.7. Управление Apache из командной строки 24
1.8. Установка PHP 24
1.9. Что предпринять, если Web-сервер не запускается 29
1.10. Установка СУБД MySQL 30
1.11. Послеустановочная настройка MySQL 35
1.12. Проверка работоспособности MySQL 42
1.13. Управление запуском и остановкой MySQL 43
1.14. Конфигурационный файл my.ini 44
1.15. Связывание PHP и MySQL 48
1.16. Настройка командной строки для mysql 50
1.17. Поддержка русского языка 53
Глава 2. Хитрости конфигурирования среды
55
2.1. PHP 55
2.1.1. Структура конфигурационного файла php.ini 55
2.1.2. Параметры языка PHP 56
2.1.3. Директивы безопасности 59
2.1.4. Настройка подсветки PHP-кода 64
2.1.5. Кэш файловой системы 66
2.1.6. Взаимодействие с клиентом 67
2.1.7. Ограничение ресурсов 67
2.1.8. Обработка ошибок 68
2.1.9. Обработка входящих и исходящих данных 74
2.1.10. Загрузка файлов 78
2.1.11. Сетевой доступ 79
2.1.12. Подключение расширений 79
2.1.13. Настройка сессии 80
2.1.14. Настройка даты и времени 81
2.1.15. Изменение настроек php.ini средствами Apache 81
2.1.16. Функции управления интерпретатором PHP 83
2.1.17. PHP как консольный интерпретатор 86
2.1.18. Запуск скриптов в назначенное время 89
2.2. Apache 92
2.2.1. Конфигурационный файл .htaccess 92
2.2.2. Установка кодировки по умолчанию 93
2.2.3. Список файлов в каталоге 95
2.2.4. Выполнение PHP-кода в HTML-файлах 98
2.2.5. Страницы ошибок Web-сервера Apache 98
2.2.6. Переадресация 100
2.2.7. Запрет на доступ к ресурсу 101
2.2.8. Запрет загрузки файлов 103
2.2.9. Защита сайта паролем 103
2.2.10. Преобразование URL-адресов 105
2.3. MySQL 116
2.3.1. Работа с утилитой mysql 116
2.3.2. Восстановление утерянного пароля 120
2.3.3. Удаленный доступ к MySQL 121
2.3.4. Управление привилегиями пользователей 122
2.3.5. Ограничение на число соединений с сервером и число запросов 127
2.3.6. Перенос каталога данных на другой диск 128
2.3.7. Перенос баз данных с одного сервера на другой 128
2.3.8. Настройка phpMyAdmin 131
Глава 3. Массивы
133
3.1. Создание массива 134
3.1.1. Конструкция array() 134
3.1.2. Непосредственное создание элементов 136
3.1.3. Создание массива: приведение типа 137
3.1.4. Использование специализированных функций 137
3.1.5. Многомерные массивы 141
3.2. Вывод массива на печать 142
3.3. Количество элементов в массиве 145
3.4. Переменная или массив? 147
3.5. Существует ли элемент массива? 147
3.6. Как получить список всех индексов массива? 148
3.7. Содержит ли массив заданный элемент? 149
3.8. Поиск ключа по значению 151
3.9. Сумма элементов массива 152
3.10. Случайные элементы массива 152
3.11. Слияние массивов 154
3.12. Преобразование каждого элемента массива 157
3.13. Получение уникальных элементов массива 159
3.14. Преобразование элементов массива в переменные 159
3.15. Сортировка массивов 162
3.16. Вывод иерархических данных 170
3.17. Суперглобальные массивы 173
3.18. Суперглобальный массив $_GET 174
3.19. Постраничная навигация 178
3.20. Суперглобальный массив $_POST 181
3.21. Передача файлов на сервер. Суперглобальный массив $_FILES 182
3.22. Загрузка произвольного количества файлов 186
3.23. Cookie. Суперглобальный массив $_COOKIE 188
3.24. Включен ли механизм Cookie в браузере? 191
3.25. Сессии. Суперглобальный массив $_SESSION 192
3.26. Суперглобальные массивы. Массив $_SERVER 195
3.26.1. Элемент $_SERVER[DOCUMENT_ROOT] 196
3.26.2. Элемент $_SERVER[HTTP_ACCEPT] 196
3.26.3. Элемент $_SERVER[HTTP_ACCEPT_LANGUAGE] 197
3.26.4. Элемент $_SERVER[HTTP_HOST] 198
3.26.5. Элемент $_SERVER[HTTP_REFERER] 198
3.26.6. Элемент $_SERVER[HTTP_USER_AGENT] 199
3.26.7. Элемент $_SERVER[REMOTE_ADDR] 199
3.26.8. Элемент $_SERVER[SCRIPT_FILENAME] 200
3.26.9. Элемент $_SERVER[SERVER_NAME] 200
3.26.10. Элемент $_SERVER[REQUEST_METHOD] 201
3.26.11. Элемент $_SERVER[QUERY_STRING] 201
3.26.12. Элемент $_SERVER[PHP_SELF] 202
3.26.13. Элемент $_SERVER[REQUEST_URI] 202
Глава 4. Файлы и каталоги
203
4.1. Создание файлов 203
4.2. Создание файлов с уникальными именами 208
4.3. Копирование, переименование и удаление файлов 209
4.4. Чтение содержимого файлов 210
4.5. Запись файлов 217
4.6. Размер файла 220
4.7. Разбивка файла на части 221
4.8. Редактирование файлов на удаленном сервере 222
4.9. Счетчик загрузок файлов 225
4.10. Сохранение текстовых и графических файлов 227
4.11. Определение количества строк в файле 229
4.12. Случайный вывод из файла 230
4.13. Сортировка содержимого текстового файла 231
4.14. Каталоги 233
4.15. Список файлов и подкаталогов в каталоге 234
4.16. Количество файлов в каталогах 238
4.17. Копирование содержимого одного каталога в другой 240
4.18. Удаление каталога со всем содержимым 241
4.19. Подсчет объема памяти, занимаемой каталогом 242
Глава 5. Сетевые возможности
243
5.1. Загрузка удаленного файла 243
5.2. Что такое сокеты 244
5.3. Получение HTTP-заголовков 248
5.4. Определение размера файла на удаленном хосте 252
5.5. Библиотека CURL 252
5.6. Получение точного времени 259
5.7. Извлечение ссылок Yandex 260
5.8. Извлечение ссылок Google 261
5.9. Курс валют Центрального банка РФ 262
5.10. Отправка данных методом POST 266
5.11. Передача реферера 269
5.12. Передача пользовательского агента 272
5.13. Передача cookie 273
5.14. Определение IP-адреса по сетевому адресу 276
5.15. Определение сетевого адреса по IP-адресу 278
5.16. Получение информации об IP-адресе 278
5.17. Отправка почтового сообщения 281
5.18. Отправка писем с вложением 282
5.19. Отправка писем со встроенными изображениями 285
Глава 6. Введение в MySQL
288
6.1. Что такое SQL 288
6.2. Создание, редактирование и удаление базы данных 289
6.3. Создание, редактирование и удаление таблиц 291
6.4. Вставка данных в таблицу. Оператор INSERT 295
6.5. Вставка уникальных значений 297
6.6. Извлечение данных. Оператор SELECT 298
6.6.1. Переименование столбцов. Ключевое слово AS 298
6.6.2. Условная выборка. Ключевое слово WHERE 299
6.6.3. Сортировка записей. Ключевое слово ORDER BY 300
6.6.4. Вывод записей в случайном порядке 301
6.6.5. Ограничение выборки. Ключевое слово LIMIT 301
6.7. Обновление данных. Оператор UPDATE 302
6.8. Удаление записей. Оператор DELETE 303
Глава 7. Сложные вопросы MySQL
305
7.1. Индексы и оценка производительности 305
7.2. Кодировки 307
7.3. Функции MySQL 310
7.3.1. Версия MySQL 310
7.3.2. Количество записей в таблице 311
7.3.3. Максимальное и минимальное значение в таблице 312
7.3.4. Сумма значений столбца 313
7.3.5. Форматирование даты 313
7.3.6. Вычисление возраста человека 315
7.3.7. Преобразование IP-адреса в число 316
7.4. Получение уникальных значений 317
7.5. Вложенные запросы 318
7.6. Вложенные запросы, возвращающие несколько строк 322
7.6.1. Ключевое слово IN 322
7.6.2. Ключевое слово ANY 324
7.6.3. Ключевое слово ALL 325
7.7. Групповые условия. Ключевое слово HAVING 326
7.8. Многотабличные запросы SELECT 328
7.9. Выбор случайных точек из таблицы 330
7.10. Многотабличный запрос DELETE 331
7.11. Удаление повторяющихся записей 333
Глава 8. PHP и MySQL
335
8.1. Установка соединения с базой данных 335
8.2. Выбор базы данных 338
8.3. Выполнение SQL-запросов 339
8.4. Получение результатов запроса 341
8.5. Количество строк в таблице 348
8.6. Экранирование данных. SQL-инъекции 350
Глава 9. PHP и AJAX
357
9.1. Что такое AJAX 357
9.2. Что такое jQuery 358
9.3. Обработка событий 360
9.4. Манипуляция содержимым страницы 362
9.5. Асинхронное обращение к серверу 366
9.6. AJAX-обращение к базе данных 367
9.7. Отправка данных методом POST 372
9.8. Двойной выпадающий список 377
9.9. Запоминание состояний флажков 380
Глава 10. Разные вопросы применения PHP
383
10.1. Локаль 383
10.2. Сериализация 385
10.3. Уменьшение изображения 386
10.4. Водяные знаки на изображении 387
10.5. Запуск внешних программ 389
Заключение 391
Предметный указатель