Шаг 8. Заканчиваем обзор
Однако, продолжим рассмотрение (вернее, беглый обзор - что называется, голопом по европам) функций PHP.
- Функции доступа к dbm-базам.
- Функции даты и времени: получить, проверить правильность, вывести в формате.
- Dbase-функции. Ну тут стандартный dbase-, clipper-, и_иже_с_ними-набор: открыть/закрыть, читать/писать/заменять/добавлять/удалять записи, получить количества колонок и записей в таблице.
- Функции для работы с директориями: открыть/закрыть, читать, сменить каталог.
- Так называемые dl-функции (вернее, одна единственная функция) - динамическая загрузка PHP-библиотеки в рунтайме. Статическая загрузка предполагает наличие в ini-файле PHP указания на загружаемые модули (разделы "extension" - сами модули, - и "extension_dir" - где эти модули искать).
- Работа с DOM-объектами для XML-документов (для PHP 4-ой версии).
- Один из самых многочисленных разделов - группа функций работы с файловой системой. С этой группой мы еще не раз столкнемся. Я думаю, этой группе следует посвятить отдельный шаг.
- FTP-функции поддерживают весь стандартный набор команд ftp-протокола.
- Чрезвычайно ценные HTTP-функции (их всего 3) позволяют управлять HTTP-заголовком. Вот пример, в котором без функции header() вообще нельзя обойтись. Вы формируете картинку PHP-кодом (до image-функций мы еще доберемся). Если не сказать перед передачей картинки браузеру header("Content-type: image/gif"), то в заголовке HTTP-запроса будет утверждаться, что пришедший от сервера файл имеет тип text/html.
- Image-функции позволяют создавать PNG- и Jpeg-файлы "налету" (поддержка gif-формата с 4-ой версии PHP прекращена в связи с проблемой лицензирования; впрочем, существуют сборки php_gd.dll с поддержкой gif-ов), рисовать графические примитивы, выводить в картинке текст и читать существующие картинки.
- IMAP-функции позволяют работать с imap-ящиками (чтение, проверка, посылка письма, работа с заголовками писем, с почтовыми ящиками, ping-и, mail-адреса, всякие там en-/decode, base64 и прочее).
- Математические функции (а как же без них!).
- Функции шифрования и хеш-функции (список поддерживаемых алгоритмов занимает 2 строки).
- Что называется, минеслаус-функции: проверка коннекта, define-функции, eval (выполнение строки как скрипта), работа с аргументами функций (4-я версия), сериализация, sleep и пр.
- MySQL-функции. Им будут посвящены несколько шагов.
- Сетевые функции: NDS, ip-адреса, связь номера и имени сетевого протокола и пр.
- ODBC-функции.
- Очень полезная группа функций, возвращающих информацию о состоянии и настройках PHP-интерпретатора, записывающих сообщения в log-файлы, читающих окружения интерпретатора. Самая эффектная - phpinfo() ;). Откройте в браузере файл http://localhost/info.php3, содержащий такой текст:
<html><body><?php phpinfo(); ?> </body></html>
|
Увидите чудо!
- Четыре функции для запуска внешних программ. Вернее три, четвертая (escapeshellcmd) предназначена для экранирования символов "<", ">", "|" и некоторых других. Дело в том, что вызов внешней программы из скрипта - потенциально опасное действие. Не проверив содержимое строки, передаваемой в качестве параметра таким функциям, как eval(), можно создать потенциальную брешь для злоумышленников. Посмотрите, что выведет на экран такая конструкция: echo escapeshellcmd("echo y| format c:").
- Само собой, что в PHP есть функции работы с регулярными выражениями.
- В 4-ой версии появилась возможность работать с сессиями (в 3-ей для этих целей нужно писать эмулирующий сессии код). Сессиями мы займемся, когда будем разрабатывать систему регистраций в наших будущих проектах.
- Огромный список функций работы со строками (включая функцию для конвертации кириллицы в разные кодировки! - наверное, изобилием кодировок мы уже весь мир достали ;).
- Семь функций работы с URL: base64, разбор URL-строки на части (хост, порт, путь и т.д.), а также кодировка строки с заменой неанглийских символов и пробелов 16-ричными цифрами с лидирующим "%" и обратно (очень помогает при работе с файлами, имеющими русские буквы в названии).
- Функции проверки PHP-переменных на инициализированность (ух какое словечко получилось! ;), принадлежность определенному типу (число, строка и пр.) и т.п.
- XML-функции (парсинг XML-тегов). В прошлом шаге я давал ссылку на сайт, где эта тема очень хорошо освещена.
Фух. На этом беглый обзор закончим. В следующих шагах займемся более детальным рассмотрением функциональных групп на конкретных примерах.
|