Выбрать главу

Пример:

mail("info@spravkaweb.ru admin@spravkaweb.ru",

"Тема",

"Тело письма",

"From: webmaster@chat.run".

"Reply-To: webmaster@chat.run".

"X-Mailer: PHP/" . phpvarsion()

);

Функции запуска программ

escapeshellcmd

Убирает shell метасимволы.

Синтаксис:

string escapeshellcmd(string command);

Убирает любые символы в строке, которые могут быть использованы в командном интерпретаторе как произвольные команды. Эту функцию нужно использовать, что бы убедится, что все ваши данные введены правильно, и эту функцию лучше всего вставлять в функции exec() или system().

Стандартное использование этой функции выглядит так:

system(EscapeShellCmd($cmd))

exec

Запуск внешней программы.

Синтаксис:

string exec(string command [, string array [, int return_var]]);

Функция exec() скрыто от пользователя запускает программу из строки command, весь стандартный вывод отключен. Возвращает последнюю строку результата выполнения программы.

Если параметр array установлен, то указанный массив будет заполнен выводом из программы. Помните, если массив уже содержит данные, то exec() добавляет свои данные в конец массива. Для очистки массива можно использовать функцию unset().

Если параметр return_var установлен наряду с параметром array, то в него записывается результат выполнения команды.

<?php

$se = "dir c:\";

$s0 = exec($se, $sa, $sr);

echo "При запуске команды "$se" последняя выведенная строка была:n",

$s0,"n Код возврата ($sr) nА это все что было выведено: ";

print_r($sa);

?>

Если требуется запустить программу в фоновом режиме (на длительное время), то поток ее вывода должен быть перенаправлен в файл (или иной поток вывода); иначе по истечении допустимого времени исполнения сценария (ожидания завершения внешней программы) он будет принудительно завершен с ошибкой.

system

Запуск внешней программы с выводом результата.

Синтаксис:

string system(string command, int [return_var]);

это функция для запуска command и вывода результата. Если используется второй параметр, то в него записывается результат выполнения команды.

Вызов System() также пробует автоматически вставить в буфер вывода web сервера после каждой строки вывода, если PHP запущен как модуль сервера.

passthru

Запускает внешнюю программу и выводит данные напрямую.

Синтаксис:

string passthru(string command [, int return_var]);

Функция passthru() похожа на функцию exec() для запуска command. Если параметр return_var установлен, то результат Unix команды помещается здесь. Эта функция должна использоваться вместо exec() или system() тогда, когда вывод из Unix команды является двоичными данными, которые должны быть переданы непосредственно обратно в окно просмотра(browser). Это можно использовать, например, для запуска утилиты pbmplus для вывода непосредственно потока изображения. Установка типа image/gif и вызов программы pbmplus, чтобы вывести gif-рисунок, вы можете создавать PHP скрипты, которые выводят изображения непосредственно.

Функции динамической загрузки

dl

Загрузка библиотеки расширения PHP во время выполнения.

Синтаксис:

int dl(string library);

dl("extensions/php_db.dll");

Загружает PHP расширение определенное в library.

get_loaded_extensions

Определения перечня загруженных модулей.

Синтаксис:

array get_loaded_extensions(void);

Возвращает массив, содержащий список имен модулей PHP, которые были скомпилированны, загружены при старте PHP и загружены во время исполнения функцией dl().

print_r (get_loaded_extensions());

Выводит информацию, подобную следующей:

Array( [0] => standard [1] => bcmath [2] => calendar [3] => ctype [4] => com [5] => ftp [6] => mysql [7] => odbc [8] => overload [9] => pcre [10] => session [11] => tokenizer [12] => xml [13] => wddx [14] => zlib [15] => exif [16] => gd [17] => zip)

extension_loaded

Проверка загрузки модуля.

Синтаксис:

bool extension_loaded(string name);

Возвращает true, если указанный модуль name уже был загружен. Следует обращать внимание на то, как пишется имя модуля, и на регистр символов.

get_extension_funcs

Определение функций модуля.

Синтаксис:

array get_extension_funcs(string module_name);

Возвращает массив, содержащий перечисление имен функций, содержащихся в модуле module_name. Этот модуль должен быть предварительно загружен.

print_r(get_extension_funcs("xml"));

Информационные функции

phpinfo

Выводит текущее состояние всех параметров PHP.

Синтаксис:

int phpinfo([int what])

Для сокращения объема выводимой информации можно указать один из следующих разделов what (если он не указывается, то подразумевается INFO_ALL):

Эта функция,которая в общем-то не должна появляться в законченной программе, выводит в броузер большое количество различной информации, касающейся настроек PHP и параметров вызова сценария. Именно, в стандартный выходной поток (то есть в браузер пользователя) печатается: