-
Notifications
You must be signed in to change notification settings - Fork 50
Expand file tree
/
Copy pathpassthru.xml
More file actions
143 lines (135 loc) · 4.29 KB
/
passthru.xml
File metadata and controls
143 lines (135 loc) · 4.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b412bbd26214f7281ac7dd858710e09952a275f2 Maintainer: sammywg Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 7973fd533364af4dd6282ca9e7bee2dffec39b1c Reviewer: samesch -->
<refentry xml:id="function.passthru" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>passthru</refname>
<refpurpose>Führt ein externes Programm aus und zeigt dessen Ausgabe an</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>
Die Funktion <function>passthru</function> ähnelt der Funktion
<function>exec</function>, da sie ebenfalls ein
<parameter>command</parameter> ausführt. Diese Funktion sollte anstelle von
<function>exec</function> bzw. <function>system</function> verwendet
werden, wenn die Ausgabe des Unix-Befehls binäre Daten erzeugt, die direkt
an den Browser zurückgegeben werden sollen. Ein praktisches Beispiel
hierfür ist die Ausführung eines Programms wie pbmplus, welches einen
Bildstream direkt ausgibt. Wenn der Content-Type auf
<literal>image/gif</literal> gesetzt wird und dann das pbmplus-Programm
aufgerufen wird, um ein GIF zu erzeugen, kann auf diesem Weg mittels PHP
direkt ein Bild erzeugt und ausgegeben werden.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>command</parameter></term>
<listitem>
<para>
Der auszuführende Befehl.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>result_code</parameter></term>
<listitem>
<para>
Ist der Parameter <parameter>result_code</parameter> angegeben, wird der
Rückgabestatus des UNIX-Befehls hier abgelegt.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.nullorfalse;
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Wenn <function>passthru</function> den Befehl
<parameter>command</parameter> nicht ausführen kann, wird eine Meldung der
Stufe <constant>E_WARNING</constant> ausgegeben.
</para>
<para>
Löst einen <classname>ValueError</classname> aus, wenn
<parameter>command</parameter> leer ist oder Nullbytes enthält.
</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>
Wenn <parameter>command</parameter> leer ist oder Nullbytes enthält,
löst <function>passthru</function> nun einen
<classname>ValueError</classname> aus. Zuvor gab die Funktion ein
<constant>E_WARNING</constant> aus und gab &false; zurück.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.escapeshell;
¬e.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">Backtick-Operator</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
-->