Files
doc-fr/reference/phar/PharFileInfo/setMetadata.xml
Yannick Torres efef851f87 sync with EN
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@330737 c90b9560-bf6c-de11-be94-00142212c4b1
2013-07-02 07:00:25 +00:00

136 lines
4.3 KiB
XML

<?xml version='1.0' encoding='utf-8'?>
<!-- $Revision$ -->
<!-- EN-Revision: 656d1610af1a960d87c8b7056e54d0d4c75fb123 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="pharfileinfo.setmetadata">
<refnamediv>
<refname>PharFileInfo::setMetadata</refname>
<refpurpose>Fixe les métadonnées spécifiques à un fichier</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>PharFileInfo::setMetadata</methodname>
<methodparam><type>mixed</type><parameter>metadata</parameter></methodparam>
</methodsynopsis>
<para>
<function>PharFileInfo::setMetadata</function> ne doit être utilisée que pour stocker des données
personnalisées dans un fichier qui ne peuvent pas l'être avec des informations normalement stockées
avec le fichier. Les métadonnées peuvent dégrader les performances de chargement d'une archive phar
si les données sont trop lourdes ou s'il y a beaucoup de fichiers avec des métadonnées.
Il est important de noter que les permissions de fichiers sont supportées nativement dans un phar; il
est possible de les fixer avec la méthode <function>PharFileInfo::chmod</function>. Comme avec toutes
les fonctionnalités qui modifient le contenu du phar, la variable INI
<link linkend="ini.phar.readonly">phar.readonly</link> doit être à off pour réussir si le fichier est au
sein d'une archive <classname>Phar</classname>. Les fichiers au sein d'archives <classname>PharData</classname>
n'ont pas cette restriction.
</para>
<para>
Une utilisation possible des métadonnées est le passage d'un utilisateur/groupe
qui devrait être utilisé quand un fichier est extrait du phar vers le disque. On peut
aussi spécifier un type MIME à retourner. De manière générale, on peut stocker toute
donnée utile qui décrit un fichier mais qui ne peut pas y être inscrite directement.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>metadata</parameter></term>
<listitem>
<para>
Toute variable PHP contenant des informations à stocker à part du fichier
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un exemple avec <function>PharFileInfo::setMetadata</function></title>
<para>
</para>
<programlisting role="php">
<![CDATA[
<?php
// on s'assure que le phar n'existe pas déjà
@unlink('nouveauphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
$p['fichier.txt'] = 'salut';
$p['fichier.txt']->setMetadata(array('utilisateur' => 'Yannick', 'mime-type' => 'text/plain'));
var_dump($p['fichier.txt']->getMetadata());
} catch (Exception $e) {
echo 'Ne peut pas créer/modifier le phar : ', $e;
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(2) {
["utilisateur"]=>
string(7) "Yannick"
["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
-->