mirror of
https://github.com/php/doc-ru.git
synced 2025-07-28 06:39:58 +00:00
215 lines
7.7 KiB
XML
215 lines
7.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: ea62fb83196997032641b50fe44420305466195e Maintainer: shein Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<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 class="union"><type>int</type><type>false</type></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 class="union"><type>resource</type><type>null</type></type><parameter>context</parameter><initializer>&null;</initializer></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;
|
||
¬e.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
|
||
-->
|