1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 15:52:13 +01:00
Files
archived-doc-ru/reference/exec/functions/shell-exec.xml

117 lines
4.1 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7973fd533364af4dd6282ca9e7bee2dffec39b1c Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.shell-exec" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shell_exec</refname>
<refpurpose>Выполняет команду через командную оболочку и возвращает вывод в виде строки</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type><type>null</type></type><methodname>shell_exec</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
</methodsynopsis>
<para>
Функция идентична оператору с <link linkend="language.operators.execution">обратным апострофом</link>.
</para>
<note>
<para>
В ОС Windows базовый канал межпроцессного взаимодействия открывается в текстовом режиме,
поэтому при выводе из системной утилиты двоичных данных функция иногда выдает ошибку.
Тогда альтернативно вызывают
функцию <function>popen</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>command</parameter></term>
<listitem>
<para>
Команда, которую выполнит функция.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает строку (&string;), которая содержит вывод выполненной команды, &false;, если невозможно установить канал
для перенаправления ввода-вывода, или &null;, если возникла ошибка или команда не выводит данные.
</para>
<note>
<para>
Функция возвращает &null; в двух случаях: если произошла ошибка или если
выполняемая команда ничего не выводит. Этой функцией не пользуются,
чтобы определить, успешно ли выполнилась команда. Вместо этого вызывают
функцию <function>exec</function>, поскольку она умеет проверять код возврата.
</para>
</note>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция выдаст ошибку уровня <constant>E_WARNING</constant>, если невозможно установить канал для перенаправления ввода-вывода.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример выполнения команды функцией <function>shell_exec</function></title>
<programlisting role="php">
<![CDATA[
<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>exec</function></member>
<member><function>escapeshellcmd</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->