Files
php-doc-ru/reference/filesystem/functions/file-get-contents.xml
Max Chaban 3ab2791815 Accepted review from Degit.
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@318676 c90b9560-bf6c-de11-be94-00142212c4b1
2011-11-02 10:22:21 +00:00

332 lines
11 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: ea703aa8969484f8bedddabdc7a08582977c250e Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.file-get-contents">
<refnamediv>
<refname>file_get_contents</refname>
<refpurpose>Читает содержимое файла в строку</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>file_get_contents</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>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>-1</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>maxlen</parameter></methodparam>
</methodsynopsis>
<para>
Данная функция похожа на функцию <function>file</function> с той только
разницей, что <function>file_get_contents</function> возвращает
содержимое файла в строке, начиная с указанного смещения
<parameter>offset</parameter> и до <parameter>maxlen</parameter>
байт. В случае неудачи, <function>file_get_contents</function> вернёт &false;.
</para>
<para>
Использование функции <function>file_get_contents</function>
наиболее предпочтительно в случае необходимости получить
содержимое файла целиком, поскольку для улучшения производительности
функция использует технику отображения файла в память
(memory mapping), если она поддерживается вашей операционной системой.
</para>
<note>
<para>
Если вы открываете URI содержащий спецсимволы, такие как пробел,
вам нужно закодировать URI при помощи <function>urlencode</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Имя читаемого файла.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>use_include_path</parameter></term>
<listitem>
<note>
<para>
Начиная с версии PHP 5 можно использовать константу
<constant>FILE_USE_INCLUDE_PATH</constant> для поиска файла
в <link linkend="ini.include-path">include path</link>.
</para>
</note>
<!-- FIXME PHP_6
<para>
The value of <parameter>flags</parameter> can be any combination of
the following flags (with some restrictions), joined with the
<link linkend="language.operators.bitwise">binary OR (|)
operator</link>.
</para>
<para>
<table>
<title>Available flags</title>
<tgroup cols="2">
<thead>
<row>
<entry>Flag</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<constant>FILE_USE_INCLUDE_PATH</constant>
</entry>
<entry>
Search for <parameter>filename</parameter> in the include directory.
See <link linkend="ini.include-path">include_path</link> for more
information.
</entry>
</row>
<row>
<entry>
<constant>FILE_TEXT</constant>
</entry>
<entry>
As of PHP 6, the default encoding of the read
data is UTF-8. You can specify a different encoding by creating a
custom context or by changing the default using
<function>stream_default_encoding</function>. This flag cannot be
used with <constant>FILE_BINARY</constant>.
</entry>
</row>
<row>
<entry>
<constant>FILE_BINARY</constant>
</entry>
<entry>
With this flag, the file is read in binary mode. This is the default
setting and cannot be used with <constant>FILE_TEXT</constant>.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
-->
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
Корректный ресурс контекста, созданный с помощью функции
<function>stream_context_create</function>. Если в использовании
особого контекста нет необходимости, можно пропустить этот параметр
передав в него значение &null;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Смещение, с которого начнется чтение оригинального потока.
</para>
<para>
Поиск смещения (<parameter>offset</parameter>) не поддерживается при
работе с удаленными файлами. Попытка поиска смещения на нелокальных
файлах может работать при небольших смещениях, но этот
результат является непредсказуемым, так как он работает на
буферизованном потоке.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>maxlen</parameter></term>
<listitem>
<para>
Максимальный размер читаемых данных. По умолчанию чтение
осуществляется пока не будет достигнут конец файла. Учтите, что
этот параметр применяется и к потоку с фильтрами.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает прочтенные данные&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Будет сгенерирована ошибка уровня <constant>E_WARNING</constant>, если
параметр <parameter>maxlength</parameter> меньше нуля или
<parameter>offset</parameter> превышает длину потока.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Получить и вывести исходный код домашней страницы вебсайта</title>
<programlisting role="php">
<![CDATA[
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
]]>
</programlisting>
</example>
<example>
<title>Поиск файлов в include_path</title>
<programlisting role="php">
<![CDATA[
<?php
// <= PHP 5
$file = file_get_contents('./people.txt', true);
// > PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>
]]>
</programlisting>
</example>
<example>
<title>Чтение секции файла</title>
<programlisting role="php">
<![CDATA[
<?php
// Читаем 14 символов, начиная с 21 символа
$section = file_get_contents('./people.txt', NULL, NULL, 20, 14);
var_dump($section);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
string(14) "lle Bjori Ro"
]]>
</screen>
</example>
<example>
<title>Использование потоковых контекстов</title>
<programlisting role="php">
<![CDATA[
<?php
// Создаем поток
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
// Открываем файл с помощью установленных выше HTTP-заголовков
$file = file_get_contents('http://www.example.com/', false, $context);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<!-- FIXME PHP_6
<row>
<entry>6.0.0</entry>
<entry>
The <parameter>use_include_path</parameter> parameter was replaced by
the <parameter>flags</parameter> parameter.
</entry>
</row>
-->
<row>
<entry>5.1.0</entry>
<entry>
Добавлены аргументы <parameter>offset</parameter> и
<parameter>maxlen</parameter>.
</entry>
</row>
<row>
<entry>5.0.0</entry>
<entry>
Добавлена поддержка контекста.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.bin-safe;
&tip.fopen-wrapper;
&warn.ssl-non-standard;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>file</function></member>
<member><function>fgets</function></member>
<member><function>fread</function></member>
<member><function>readfile</function></member>
<member><function>file_put_contents</function></member>
<member><function>stream_get_contents</function></member>
<member><function>stream_context_create</function></member>
<member><link linkend="reserved.variables.httpresponseheader">$http_response_header</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
-->