1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/phar/PharFileInfo/setMetadata.xml
2022-12-17 16:15:41 +03:00

134 lines
4.7 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: f03806fcd8fe03a0501bd40b6e3939ff6589a1d2 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="pharfileinfo.setmetadata" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>PharFileInfo::setMetadata</refname>
<refpurpose>Установка метаданных для конкретного файла</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="PharFileInfo">
<modifier>public</modifier> <type>void</type><methodname>PharFileInfo::setMetadata</methodname>
<methodparam><type>mixed</type><parameter>metadata</parameter></methodparam>
</methodsynopsis>
<para>
<function>PharFileInfo::setMetadata</function> следует использовать для сохранения
метаданных конкретного файла, которые нельзя хранить внутри самого файла,
поскольку, если данных много, либо в принципе много файлов с метаданными - это
значительно замедляет загрузку phar-архива. Важно помнить, что phar-архивы
из коробки поддерживают права на файлы и их можно задать с помощью метода
<function>PharFileInfo::chmod</function>. Так как эта функциональность изменяет
phar-архив, необходимо, чтобы опция <link linkend="ini.phar.readonly">phar.readonly</link>
была отключена, иначе внести изменения в архив <classname>Phar</classname> не
получится. На архивы <classname>PharData</classname> ограничение на запись не
распространяется.
</para>
<para>
Метаданные файлов можно использовать, например, для указания, какие
права надо назначить файлу при экспорте его на диск, или для указания MIME-типа,
который он возвращает. В общем - любая полезная информация, которой не место
внутри самого файла.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>metadata</parameter></term>
<listitem>
<para>
Любая переменная PHP, содержащая необходимую информацию
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>PharFileInfo::setMetadata</function></title>
<para>
</para>
<programlisting role="php">
<![CDATA[
<?php
// удалим, на всякий случай
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.txt'] = 'hello';
$p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
echo 'Не удалось создать/изменить phar: ', $e;
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(2) {
["user"]=>
string(4) "bill"
["mime-type"]=>
string(10) "text/plain"
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>PharFileInfo::hasMetadata</function></member>
<member><function>PharFileInfo::getMetadata</function></member>
<member><function>PharFileInfo::delMetadata</function></member>
<member><function>Phar::setMetadata</function></member>
<member><function>Phar::hasMetadata</function></member>
<member><function>Phar::getMetadata</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
-->