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

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] => xml [1] => tokenizer [2] => standard [3] => sockets [4] => session [5] => posix [6] => pcre [7] => overload [8] => mysql [9] => gd [10] => ftp [11] => ctype [12] => calendar [13] => bcmath [14] => zlib [15] => apache [16] => Zend Optimizer)

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"));

 










Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: