1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-25 15:42:15 +01:00
Files
archived-doc-zh/reference/exec/functions/passthru.xml
魔王卷子 c33a5e9eec Update reference (#502)
* Update splqueue.xml

* Update splstack.xml

* Update reflectionclass.xml

* Update getbackingtype.xml

* Update ob-get-flush.xml

* Update ini.xml

* Update dns-get-record.xml

* Update uniqid.xml

* Update log.xml

* Update round.xml

* Update constants.xml

* Update mail.xml

* Update assert.xml

* Update register-shutdown-function.xml

* Update fpm-get-status.xml

* Update status.xml

* Update exec.xml

* Update exec.xml

* Update passthru.xml

* Update scandir.xml

* Update shuffle.xml

* Update array-rand.xml

* Update constants.xml

* Update assert.xml

* Update assert.xml

* Update mail.xml

* Update mail.xml

* Update round.xml
2022-12-01 19:26:32 +08:00

138 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"?>
<!-- $Revision$ -->
<!-- EN-Revision: b412bbd26214f7281ac7dd858710e09952a275f2 Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: Luffy, mowangjuanzi -->
<!-- splitted from ./en/functions/exec.xml, last change in rev 1.2 -->
<refentry xml:id="function.passthru" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>passthru</refname>
<refpurpose>执行外部程序并且显示原始输出</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>false</type><type>null</type></type><methodname>passthru</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">result_code</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>exec</function> 函数类似,
<function>passthru</function> 函数
也是用来执行外部命令(<parameter>command</parameter>)的。
当所执行的 Unix 命令输出二进制数据,
并且需要直接传送到浏览器的时候,
需要用此函数来替代 <function>exec</function>
<function>system</function> 函数。
常用来执行诸如 pbmplus 之类的可以直接输出图像流的命令。
通过设置 Content-type 为 <literal>image/gif</literal>
然后调用 pbmplus 程序输出 gif 文件,
就可以从 PHP 脚本中直接输出图像到浏览器。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>command</parameter></term>
<listitem>
<para>
要执行的命令。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>result_code</parameter></term>
<listitem>
<para>
如果提供 <parameter>result_code</parameter> 参数,
Unix 命令的返回状态会被记录到此参数。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.nullorfalse;
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
如果 <function>passthru</function> 无法执行 <parameter>command</parameter>,会发出 <constant>E_WARNING</constant>
</para>
<para>
如果 <parameter>command</parameter> 为空或者包含 null 字节,则抛出 <classname>ValueError</classname>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
如果 <parameter>command</parameter> 为空或者包含 null 字节,<function>passthru</function> 现在将抛出
<classname>ValueError</classname>。之前会发出 <constant>E_WARNING</constant> 并返回 &false;
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.escapeshell;
&note.exec-bg;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>exec</function></member>
<member><function>system</function></member>
<member><function>popen</function></member>
<member><function>escapeshellcmd</function></member>
<member><link linkend="language.operators.execution">执行运算符</link></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
-->