PHP. Сборник рецептов

Дэвид Скляр, Адам Трахтенберг

«PHP. Сборник рецептов» Дэвида Скляра и Адама Трахтенберга содержит практические примеры и решения разнообразных задач, ежедневно возникающих перед программистами. Каждая задача снабжена проработанным решением – «рецептом», содержащим небольшой фрагмент кода, который можно вставлять прямо в приложение. Представлено более 250 рецептов – от самых простых, таких как посылка запроса в базу данных и получение доступа к URL, до полноценных программ, демонстрирующих более трудные задачи, например вывод HTML таблиц и создание диаграмм. Рассмотрена работа со строками, числами, датами и временем, а также с массивами, файлами и каталогами.

Обсуждаются переменные, функции, классы и объекты, регулярные выражения, шифрование и безопасность, интернет-службы, графика, интернационализация и локализация, PEAR, PHP в командной строке и PHP-GTK, формы, XML и доступ к базам данных.

Книга будет полезна всем, кто программирует на PHP, независимо от уровня их подготовки – от новичков до опытных профессионалов.

Издательство: Символ-Плюс, 2005 г.

ISBN 5-93286-059-6, 1-56592-681-1 (англ)

Количество страниц: 672.

Содержание книги «PHP. Сборник рецептов»:

  • 15 Предисловие
  • 23 1. Строки
    • 23 1.0. Введение
    • 26 1.1. Доступ к подстрокам
    • 27 1.2. Замещение подстрок
    • 28 1.3. Посимвольная обработка строк
    • 30 1.4. Пословный или посимвольный переворот строки
    • 30 1.5. Расширение и сжатие табуляций
    • 32 1.6. Управление регистром
    • 34 1.7. Включение функций и выражений в строки
    • 35 1.8. Удаление пробельных символов из строки
    • 36 1.9. Анализ данных, разделенных запятой
    • 37 1.10. Анализ данных, состоящих из полей фиксированной ширины
    • 40 1.11. Разбиение строк
    • 42 1.12. Упаковка текста в строки определенной длины
    • 44 1.13. Хранение двоичных данных в строках
  • 47 2. Числа
    • 47 2.0. Введение
    • 48 2.1. Проверка правильности записи числа в строке
    • 49 2.2. Сравнение чисел с плавающей точкой
    • 50 2.3. Округление чисел с плавающей точкой
    • 51 2.4. Работа с последовательностью целых чисел
    • 52 2.5. Генерация случайных чисел в пределах диапазона
    • 54 2.6. Генерация случайных чисел со смещением
    • 55 2.7. Взятие логарифмов
    • 56 2.8. Вычисление степеней
    • 57 2.9. Форматирование чисел
    • 57 2.10. Правильная печать слов во множественном числе
    • 59 2.11. Вычисление тригонометрических функций
    • 60 2.12. Тригонометрические вычисления не в радианах, а в градусах
    • 61 2.13. Работа с очень большими и очень маленькими числами
    • 62 2.14. Преобразование из одной системы счисления в другую
    • 63 2.15. Вычисления с недесятичными числами
  • 65 3. Дата и время
    • 65 3.0. Введение
    • 67 3.1. Определение текущей даты и времени
    • 70 3.2. Преобразование времени и частей времени в метку времени UNIX
    • 71 3.3. Преобразование метки времени в части времени и даты
    • 72 3.4. Вывод на печать даты и времени в определенном формате
    • 77 3.5. Определение разности между двумя датами
    • 79 3.6. Определение разности между датами юлианского календаря
    • 81 3.7. Определение дня недели, месяца, года или номера недели в году
    • 82 3.8. Проверка корректности даты
    • 84 3.9. Выделение дат и времен из строк
    • 87 3.10. Сложение и вычитание дат
    • 88 3.11. Учет часовых поясов при определении времени
    • 93 3.12. Учет перехода на летнее время
    • 94 3.13. Выработка высокоточного времени
    • 95 3.14. Получение интервалов времени
    • 96 3.15. Работа с негригорианскими календарями
    • 98 3.16. Программа: Календарь
  • 101 4. Массивы
    • 101 4.0. Введение
    • 104 4.1. Определение массива с ненулевым начальным индексом
    • 105 4.2. Хранение множества элементов массива с одним ключом
    • 106 4.3. Инициализация массива диапазоном целых чисел
    • 107 4.4. Перебор элементов массива
    • 110 4.5. Удаление элементов из массива
    • 112 4.6. Изменение длины массива
    • 114 4.7. Добавление одного массива к другому
    • 116 4.8. Преобразование массива в строку
    • 118 4.9. Печать массивов с запятыми
    • 119 4.10. Проверка наличия ключа в массиве
    • 119 4.11. Проверка наличия элемента в массиве
    • 121 4.12. Определение позиции элемента в массиве
    • 122 4.13. Нахождение элементов, удовлетворяющих определенному критерию
    • 123 4.14. Нахождение элемента массива с наибольшим или наименьшим значением
    • 124 4.15. Обращение массива
    • 125 4.16. Сортировка массива
    • 126 4.17. Сортировка массива по вычисляемому полю
    • 129 4.18. Сортировка множества массивов
    • 130 4.19. Сортировка массива с использованием метода вместо функции
    • 131 4.20. Рандомизация массива
    • 132 4.21. Тасование колоды карт
    • 133 4.22. Удаление двойных элементов из массива
    • 134 4.23. Определение объединения, пересечения или разности двух массивов
    • 136 4.24. Определение всех комбинаций элементов массива
    • 139 4.25. Нахождение всех перестановок массива
    • 141 4.26. Программа: Печать массива в виде HTML-таблицы
  • 145 5. Переменные
    • 145 5.0. Введение
    • 146 5.1. Операторы == и =: как избежать путаницы
    • 147 5.2. Установка значения по умолчанию
    • 148 5.3. Обмен значениями без временных переменных
    • 149 5.4. Создание динамического имени переменной
    • 150 5.5. Статические переменные
    • 152 5.6. Совместное использование переменных процессами
    • 154 5.7. Сериализация данных сложных типов в виде строки
    • 156 5.8. Получение дампа содержимого переменных в виде строк
  • 160 6. Функции
    • 160 6.0. Введение
    • 161 6.1. Доступ к параметрам функций
    • 162 6.2. Установка значений по умолчанию для параметров функции
    • 164 6.3. Передача значений по ссылке
    • 165 6.4. Именованные параметры
    • 167 6.5. Создание функции, принимающей переменное количество аргументов
    • 169 6.6. Возвращение значений по ссылке
    • 170 6.7. Возвращение более одного значения
    • 171 6.8. Пропуск определенных возвращаемых значений
    • 173 6.9. Возвращение информации об ошибке
    • 174 6.10. Вызов переменных функций
    • 175 6.11. Доступ к глобальной переменной внутри функции
    • 177 6.12. Создание динамических функций
  • 178 7. Классы и объекты
    • 178 7.0. Введение
    • 182 7.1. Реализация объектов
    • 183 7.2. Определение конструкторов объектов
    • 184 7.3. Уничтожение объекта
    • 185 7.4. Клонирование объектов
    • 185 7.5. Присваивание ссылок на объекты
    • 186 7.6. Применение методов к объекту, возвращенному другим методом
    • 187 7.7. Доступ к переопределенным методам
    • 189 7.8. Перегрузка свойств
    • 190 7.9. Полиморфизм методов
    • 192 7.10. Обнаружение методов и свойств объекта
    • 194 7.11. Добавление свойств в базовый объект
    • 195 7.12. Динамическое создание класса
    • 196 7.13. Динамическая реализация объекта
  • 198 8. Основы Web
    • 198 8.0. Введение
    • 200 8.1. Установка cookies
    • 201 8.2. Чтение значений cookie
    • 202 8.3. Удаление cookies
    • 203 8.4. Перенаправление по другому адресу
    • 204 8.5. Отслеживание сеанса работы с сайтом
    • 205 8.6. Хранение сеансов в базе данных
    • 209 8.7. Идентификация различных броузеров
    • 211 8.8. Формирование строки запроса GET
    • 213 8.9. Применение базовой аутентификации HTTP
    • 216 8.10. Аутентификация, основанная на cookies
    • 218 8.11. Передача выходной информации в броузер
    • 219 8.12. Буферизация вывода в броузер
    • 220 8.13. Сжатие веб-вывода с помощью gzip
    • 221 8.14. Сокрытие от пользователей сообщений об ошибках
    • 222 8.15. Настройка обработки ошибок
    • 225 8.16. Применение пользовательского обработчика ошибок
    • 226 8.17. Регистрация ошибок
    • 227 8.18. Устранение ошибок «headers already sent» (заголовки уже посланы)
    • 229 8.19. Регистрация отладочной информации
    • 231 8.20. Чтение переменных окружения
    • 232 8.21. Установка переменных окружения
    • 233 8.22. Чтение конфигурационных переменных
    • 235 8.23. Установка конфигурационных переменных
    • 235 8.24. Взаимодействие в рамках Apache
    • 237 8.25. Профилирование программы
    • 240 8.26. Программа: (Де)активатор учетной записи на веб-сайте
    • 242 8.27. Программа: Контролер злоумышленных пользователей
  • 249 9. Формы
    • 249 9.0. Введение
    • 251 9.1. Обработка информации, полученной из формы
    • 253 9.2. Проверка корректности введенных в форму данных
    • 255 9.3. Работа с многостраничными формами
    • 258 9.4. Повторный вывод форм с информацией и сообщениями об ошибках
    • 261 9.5. Защита от многократной отправки одной и той же формы
    • 263 9.6. Обработка загруженных файлов
    • 265 9.7. Организация безопасности обработки форм в PHP
    • 267 9.8. Пользовательские данные и escape-последовательности
    • 268 9.9. Обработка внешних переменных с точками в именах
    • 270 9.10. Использование элементов формы с несколькими вариантами значений
    • 271 9.11. Создание выпадающих меню на основе текущей даты
  • 273 10. Доступ к базам данных
    • 273 10.0. Введение
    • 279 10.1. Работа с базами данных, состоящих из текстовых файлов
    • 280 10.2. Работа с базами данных DBM
    • 284 10.3. Соединение с базой данных SQL
    • 286 10.4. Выполнение запросов к базе данных SQL
    • 288 10.5. Извлечение строк без цикла
    • 291 10.6. Модификация данных в базе данных SQL
    • 292 10.7. Эффективное повторение запросов
    • 294 10.8. Определение количества строк, возвращенных запросом
    • 295 10.9. Преобразование кавычек в еscapе-последовательности
    • 297 10.10. Регистрация отладочной информации и ошибок
    • 300 10.11. Автоматическое присваивание уникальных значений идентификаторов
    • 301 10.12. Программное создание запросов
    • 305 10.13. Постраничный вывод большого количества записей
    • 310 10.14. Кэширование запросов и результатов
    • 312 10.15. Программа: Хранение сообщений форума, разбитых на темы
  • 320 11. Автоматизация работы с Web
    • 320 11.0. Введение
    • 322 11.1. Получение содержимого URL методом GET
    • 324 11.2. Извлечение содержимого URL с помощью метода POST
    • 326 11.3. Получение содержимого URL, если требуется отправить cookies
    • 328 11.4. Получение содержимого URL, требующее отправки заголовков
    • 329 11.5. Получение содержимого HTTPS URL
    • 330 11.6. Отладка обмена заголовками HTTP
    • 333 11.7. Выделение информации на веб-странице
    • 334 11.8. Извлечение ссылок из HTML-файла
    • 336 11.9. Преобразование ASCII в HTML
    • 337 11.10. Преобразование HTML в ASCII
    • 338 11.11. Удаление тегов HTML и PHP
    • 339 11.12. Использование шаблонов системы Smarty
    • 341 11.13. Анализ файла протокола веб-сервера
    • 343 11.14. Программа: обнаружение устаревших ссылок
    • 345 11.15. Программа: Обнаружение свежих ссылок
  • 349 12. XML
    • 349 12.0. Введение
    • 352 12.1. Генерация XML вручную
    • 354 12.2. Генерация XML с применением DOM
    • 357 12.3. Анализ XML с помощью DOM
    • 360 12.4. Анализ XML с помощью SAX
    • 366 12.5. Преобразование XML с помощью XSLT
    • 369 12.6. Посылка запросов XML-RPC
    • 372 12.7. Прием запросов XML-RPC
    • 376 12.8. Посылка SOAP-запросов
    • 379 12.9. Прием SOAP-запросов
    • 382 12.10. Обмен данными с помощью WDDX
    • 384 12.11. Чтение RSS-рассылок
  • 387 13. Регулярные выражения
    • 387 13.0. Введение
    • 391 13.1. Переход от ereg к preg
    • 393 13.2. Поиск слов
    • 394 13.3. Нахождение n-го совпадения
    • 395 13.4. Выбор между поглощающим и непоглощающим сравнением
    • 398 13.5. Проверка правильности адресов электронной почты
    • 401 13.6. Поиск в файле всех строк, соответствующих шаблону
    • 402 13.7. Сборка текста, заключенного в теги HTML
    • 404 13.8. Экранирование специальных символов внутри регулярного выражения
    • 405 13.9. Чтение записей с шаблоном-разделителем
  • 407 14. Шифрование и безопасность
    • 407 14.0. Введение
    • 409 14.1. Не храните пароли на своем сайте
    • 410 14.2. Сокрытие данных при помощи кодирования
    • 410 14.3. Проверка данных с помощью хеширования
    • 412 14.4. Хранение паролей
    • 414 14.5. Проверка надежности пароля
    • 416 14.6. Работа с потерянными паролями
    • 417 14.7. Шифрование и дешифрование данных
    • 423 14.8. Хранение зашифрованных данных в файле или базе данных
    • 426 14.9. Совместное использование зашифрованных данных с другим веб-сайтом
    • 428 14.10. Обнаружение SSL-соединения
    • 429 14.11. Шифрование сообщений электронной почты с помощью GPG
  • 432 15. Графика
    • 432 15.0. Введение
    • 436 15.1. Рисование линий, прямоугольников и многоугольников
    • 438 15.2. Рисование дуг, эллипсов и окружностей
    • 440 15.3. Рисование узорными линиями
    • 441 15.4. Рисование текста
    • 444 15.5. Рисование центрированного текста
    • 449 15.6. Построение динамических изображений
    • 451 15.7. Создание и установка прозрачного цвета
    • 452 15.8. Безопасная работа с изображениями
    • 454 15.9. Программа: создание гистограмм результатов голосования
  • 458 16. Интернационализация и локализация
    • 458 16.0. Введение
    • 460 16.1. Перечень допустимых локалей
    • 460 16.2. Использование определенной локали
    • 461 16.3. Установка локали по умолчанию
    • 462 16.4. Локализация текстовых сообщений
    • 466 16.5. Локализация дат и времени
    • 467 16.6. Локализация денежных значений
    • 470 16.7. Локализация изображений
    • 471 16.8. Локализация включаемых файлов
    • 472 16.9. Управление ресурсами локализации
    • 474 16.10. Расширение gettext
    • 475 16.11. Чтение и запись символов Unicode
  • 477 17. Интернет-службы
    • 477 17.0. Введение
    • 478 17.1. Отправка почты
    • 481 17.2. Отправка почты в кодировке MIME
    • 483 17.3. Чтение почты с помощью IMAP или POP3
    • 486 17.4. Отправка сообщений в новостные группы Usenet
    • 489 17.5. Чтение новостей из Usenet
    • 494 17.6. Получение и размещение файлов с помощью FTP
    • 497 17.7. Поиск адресов с помощью LDAP
    • 499 17.8. Применение LDAP для аутентификации пользователей
    • 502 17.9. Поиск в DNS
    • 503 17.10. Проверка функционирования хоста
    • 505 17.11. Получение информации о доменном имени
  • 507 18. Файлы
    • 507 18.0. Введение
    • 511 18.1. Создание или открытие локального файла
    • 513 18.2. Создание временного файла
    • 514 18.3. Открытие удаленного файла
    • 515 18.4. Чтение из стандартного потока ввода
    • 515 18.5. Чтение файла в строку
    • 517 18.6. Подсчет строк, абзацев или записей в файле
    • 519 18.7. Обработка каждого слова в файле
    • 521 18.8. Чтение определенной строки в файле
    • 522 18.9. Обработка файла по строкам или абзацам в обратном направлении
    • 522 18.10. Выбор случайной строки из файла
    • 523 18.11. Рандомизация всех строк в файле
    • 524 18.12. Обработка текстовых полей переменной длины
    • 525 18.13. Чтение файлов конфигурации
    • 528 18.14. Чтение или запись в определенное место в файле
    • 529 18.15. Удаление из файла последней строки
    • 531 18.16. Непосредственная модификация файла без временной копии
    • 532 18.17. Сброс вывода в файл
    • 533 18.18. Запись в стандартный поток вывода
    • 534 18.19. Запись в несколько файловых дескрипторов одновременно
    • 535 18.20. Преобразование метасимволов среды в escape-последовательности
    • 537 18.21. Передача входной информации в программу
    • 537 18.22. Чтение из стандартного потока вывода программы
    • 539 18.23. Чтение из стандартного потока ошибок программы
    • 540 18.24. Блокировка файла
    • 543 18.25. Чтение и запись сжатых файлов
    • 545 18.26. Программа: Unzip
  • 547 19. Каталоги
    • 547 19.0. Введение
    • 550 19.1. Получение и установка меток даты/времени файла
    • 551 19.2. Получение информации о файле
    • 553 19.3. Изменение прав доступа к файлу или его владельца
    • 554 19.4. Разделение имени файла на составляющие
    • 556 19.5. Удаление файла
    • 556 19.6. Копирование и перемещение файла
    • 557 19.7. Обработка всех файлов в каталоге
    • 558 19.8. Получение списка имен файлов, соответствующих шаблону
    • 559 19.9. Обработка всех файлов в каталоге
    • 561 19.10. Создание новых каталогов
    • 563 19.11. Удаление каталога и его содержимого
    • 564 19.12. Программа: Перечень каталогов веб-сервера
    • 568 19.13. Программа: Поиск сайта
  • 572 20. PHP на стороне клиента
    • 572 20.0. Введение
    • 577 20.1. Анализ аргументов программы
    • 578 20.2. Анализ аргументов программы с помощью getopt
    • 582 20.3. Чтение ввода с клавиатуры
    • 583 20.4. Чтение паролей
    • 586 20.5. Показ в окне графических элементов управления
    • 587 20.6. Показ в окне нескольких графических элементов управления
    • 590 20.7. Реакция на действия пользователя
    • 592 20.8. Показ меню
    • 595 20.9. Программа: Командная оболочка
    • 598 20.10. Программа: Служба погоды
  • 607 21. PEAR
    • 607 21.0. Введение
    • 610 21.1. Работа с менеджером пакетов PEAR
    • 612 21.2. Нахождение пакетов PEAR
    • 613 21.3. Поиск информации о пакете
    • 615 21.4. Установка пакетов PEAR
    • 616 21.5. Установка пакетов PECL
    • 618 21.6. Обновление пакетов PEAR
    • 619 21.7. Удаление пакетов PEAR
    • 620 21.8. Документирование классов с помощью PHPDoc
  • 623 Алфавитный указатель

Инструкция как скачать книгу Дэвид Скляр, Адам Трахтенберг: PHP. Сборник рецептов в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
PHP. Сборник рецептов
Рейтинг книги:
0 голосов
836

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: