-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathreadfile.xml
155 lines (144 loc) · 4.33 KB
/
readfile.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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b8758b0605e80c4e3610137b7502a6abeea5c69b Maintainer: seros Status: ready -->
<!-- Reviewed: yes Maintainer: seros -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.readfile">
<refnamediv>
<refname>readfile</refname>
<refpurpose>Realizar la salida de un fichero</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>readfile</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>use_include_path</parameter><initializer>&false;</initializer></methodparam>
<methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
</methodsynopsis>
<para>
Lee un fichero y lo escribe en el búfer de salida.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
El nombre del fichero a leer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>use_include_path</parameter></term>
<listitem>
<para>
Se puede emplear el segundo parámetro opcional y establecerlo a &true; si se
desea buscar también el fichero en <link
linkend="ini.include-path">include_path</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
Un <type>resource</type> de flujos de contexto.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el número de bytes leídos del fichero. Si se produjo un
error, devuelve &false; y, a menos que la función fuese llamada como
@<function>readfile</function>, se imprime un mensaje de error.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Forzar un descarga empleando <function>readfile</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fichero = 'mono.gif';
if (file_exists($fichero)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($fichero).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($fichero));
readfile($fichero);
exit;
}
?>
]]>
</programlisting>
&example.outputs.similar;
<mediaobject>
<alt>Diálogo de Abrir / Guardar</alt>
<imageobject>
<imagedata fileref="en/reference/filesystem/figures/readfile.png"/>
</imageobject>
</mediaobject>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
<function>readfile</function> no presentará problemas de memoria,
incluso al enviar ficheros grandes, por sí sola. Si se encuentra un
error de memoria insuficiente asegúrese que el búfer de salida está desactivado con
<function>ob_get_level</function>.
</para>
</note>
&tip.fopen-wrapper;
¬e.context-support;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>fpassthru</function></member>
<member><function>file</function></member>
<member><function>fopen</function></member>
<member><function>include</function></member>
<member><function>require</function></member>
<member><function>virtual</function></member>
<member><function>file_get_contents</function></member>
<member><xref linkend="wrappers"/></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
-->