1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/exec/functions/shell-exec.xml
2024-05-14 19:40:42 +03:00

117 lines
3.8 KiB
XML
Raw 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
-->