-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathfpassthru.xml
133 lines (122 loc) · 3.58 KB
/
fpassthru.xml
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 98f2a733bc07e1c6d8fddb1d865b09fd79bdbea2 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.fpassthru" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>fpassthru</refname>
<refpurpose>Affiche le reste du fichier</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>fpassthru</methodname>
<methodparam><type>resource</type><parameter>stream</parameter></methodparam>
</methodsynopsis>
<para>
Lit tout le reste d'un fichier jusqu'à la fin et dirige le résultat
vers la sortie standard.
</para>
<para>
Vous devez appeler la fonction <function>rewind</function> pour réinitialiser
le pointeur de fichier au début si vous avez déjà écrit des données dans le
fichier.
</para>
<para>
Si vous voulez uniquement copier le contenu d'un fichier dans le buffer
de sortie, sans le modifier auparavant ou placer le pointeur à un endroit
particulier, vous devriez utiliser la fonction <function>readfile</function>, ce
qui vous évite d'appeler la fonction <function>fopen</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stream</parameter></term>
<listitem>
&fs.validfp.all;
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne le nombre de caractères lus depuis <parameter>stream</parameter>
et passés à la sortie standard.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Utilisation de <function>fpassthru</function> avec un fichier binaire</title>
<programlisting role="php">
<![CDATA[
<?php
// ouvre un fichier en mode binaire
$name = './img/ok.png';
$fp = fopen($name, 'rb');
// envoie les bons en-têtes
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// envoie le contenu du fichier, puis stoppe le script
fpassthru($fp);
exit;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Lorsque vous utilisez la fonction <function>fpassthru</function> sur un fichier
binaire sous Windows, assurez-vous d'avoir ouvert le fichier
en mode binaire en ajoutant la lettre <literal>b</literal> au mode
d'accès utilisé dans <function>fopen</function>.
</para>
<para>
Vous êtes encouragé à utiliser l'option <literal>b</literal> lorsque vous
traitez des fichiers binaires, même si votre système ne le requiert pas,
de façon à rendre vos scripts portables.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>readfile</function></member>
<member><function>fopen</function></member>
<member><function>popen</function></member>
<member><function>fsockopen</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
-->