Files
php-doc-ru/reference/filesystem/functions/file-put-contents.xml
Sergey Panteleev 625afc5f40 docs(ru): Updated to English revision
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@350662 c90b9560-bf6c-de11-be94-00142212c4b1
2020-09-26 22:03:46 +00:00

217 lines
7.6 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: be5b0f33a18415823da76389915b49aae4ee6835 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.file-put-contents">
<refnamediv>
<refname>file_put_contents</refname>
<refpurpose>Пишет данные в файл</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>file_put_contents</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam><type>mixed</type><parameter>data</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
</methodsynopsis>
<para>
Функция идентична последовательным успешным вызовам функций
<function>fopen</function>, <function>fwrite</function> и
<function>fclose</function>.
</para>
<para>
Если <parameter>filename</parameter> не существует, файл будет
создан. Иначе, существующий файл будет перезаписан, за исключением
случая, если указан флаг <constant>FILE_APPEND</constant>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Путь к записываемому файлу.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
Записываемые данные. Может быть типа <type>string</type>,
<type>array</type> или ресурсом потока.
</para>
<para>
Если <parameter>data</parameter> является потоковым ресурсом
(<type>stream</type>), оставшийся буфер этого потока будет скопирован
в указанный файл. Это похоже на использование функции <function>stream_copy_to_stream</function>.
</para>
<para>
Также вы можете передать одномерный массив в качестве параметра
<parameter>data</parameter>. Это будет эквивалентно вызову
<literal>file_put_contents($filename, implode('', $array))</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Значением параметра <parameter>flags</parameter> может быть
любая комбинация следующих флагов, соединенных бинарным
оператором ИЛИ (<literal>|</literal>).
</para>
<para>
<table>
<title>Доступные флаги</title>
<tgroup cols="2">
<thead>
<row>
<entry>Флаг</entry>
<entry>Описание</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<constant>FILE_USE_INCLUDE_PATH</constant>
</entry>
<entry>
Ищет <parameter>filename</parameter> в подключаемых директориях.
Подробнее смотрите директиву <link linkend="ini.include-path">include_path</link>.
</entry>
</row>
<row>
<entry>
<constant>FILE_APPEND</constant>
</entry>
<entry>
Если файл <parameter>filename</parameter> уже существует, данные
будут дописаны в конец файла вместо того, чтобы его перезаписать.
</entry>
</row>
<row>
<entry>
<constant>LOCK_EX</constant>
</entry>
<entry>
Получить эксклюзивную блокировку на файл на время записи. Другими словами,
между вызовами <function>fopen</function> и <function>fwrite</function> произойдет
вызов функции <function>flock</function>. Это не одно и то же, что вызов
<function>fopen</function> с флагом "x".
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
Корректный ресурс контекста, созданный с помощью функции
<function>stream_context_create</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает количество записанных байт в файл, или
&false; в случае ошибки.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример простого использования</title>
<programlisting role="php">
<![CDATA[
<?php
$file = 'people.txt';
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем нового человека в файл
$current .= "John Smith\n";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);
?>
]]>
</programlisting>
</example>
<example>
<title>Использование флагов</title>
<programlisting role="php">
<![CDATA[
<?php
$file = 'people.txt';
// Новый человек, которого нужно добавить в файл
$person = "John Smith\n";
// Пишем содержимое в файл,
// используя флаг FILE_APPEND для дописывания содержимого в конец файла
// и флаг LOCK_EX для предотвращения записи данного файла кем-нибудь другим в данное время
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.bin-safe;
&tip.fopen-wrapper;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>fopen</function></member>
<member><function>fwrite</function></member>
<member><function>file_get_contents</function></member>
<member><function>stream_context_create</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
-->