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