Files
doc-fr/reference/filesystem/functions/clearstatcache.xml
Damien Seguy 45a0669aff synch with en
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@274285 c90b9560-bf6c-de11-be94-00142212c4b1
2009-01-22 19:57:29 +00:00

188 lines
5.2 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.19 $ -->
<!-- EN-Revision: 1.19 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.clearstatcache">
<refnamediv>
<refname>clearstatcache</refname>
<refpurpose>Efface le cache de <function>stat</function></refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>clearstatcache</methodname>
<methodparam choice="opt"><type>bool</type><parameter>clear_realpath_cache</parameter><initializer>false</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
L'appel à la fonction <function>stat</function> ou
<function>lstat</function> est relativement coûteux en terme de
temps d'exécution. Pour cela, le résultat du dernier
appel à l'une des fonctions de statut, (voir la liste ci-dessous), est
sauvegardé pour réutilisation ultérieure. Si vous voulez
forcer la vérification du statut d'un fichier, dans le cas où le
fichier aurait pu être modifié ou aurait disparu, vous
devez utiliser la fonction <function>clearstatcache</function>
afin d'effacer de la mémoire les résultats du dernier
appel à la fonction.
</para>
<para>
Sachez que PHP ne met pas en cache les informations concernant
un fichier inexistant. Si vous appelez <function>file_exists</function>
sur un fichier qui n'existe pas, la fonction retournera &false;
jusqu'à ce que vous créiez le fichier. Si vous créez le fichier,
la fonction retournera &true; même si vous effacez le fichier.
</para>
<note>
<para>
Cette fonction met en cache des informations sur les fichiers.
Vous n'avez donc besoin d'appeler <function>clearstatcache</function> que
si vous faites des opérations multiples sur le dossier, et que vous
voulez avoir une version récente des informations.
</para>
</note>
<para>
Les fonctions affectées sont :
<function>stat</function>,
<function>lstat</function>,
<function>file_exists</function>,
<function>is_writable</function>,
<function>is_readable</function>,
<function>is_executable</function>,
<function>is_file</function>,
<function>is_dir</function>,
<function>is_link</function>,
<function>filectime</function>,
<function>fileatime</function>,
<function>filemtime</function>,
<function>fileinode</function>,
<function>filegroup</function>,
<function>fileowner</function>,
<function>filesize</function>,
<function>filetype</function>, et
<function>fileperms</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>clear_realpath_cache</parameter></term>
<listitem>
<para>
Si l'on doit ou non vider le cache réel (par défaut, vaut &false;).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Nettoye le cache réel d'un fichier spécifique. Ne peut être utilisé
que si le paramètre <parameter>clear_realpath_cache</parameter> vaut &true;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.3.0</entry>
<entry>
Ajout des paramètres optionnels <parameter>clear_realpath_cache</parameter>
et <parameter>filename</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>clearstatcache</function></title>
<programlisting role="php">
<![CDATA[
<?php
$file = 'output_log.txt';
function get_owner($file)
{
$stat = stat($file);
$user = posix_getpwuid($stat['uid']);
return $user['name'];
}
$format = "UID @ %s: %s\n";
printf($format, date('r'), get_owner($file));
chown($path, 'ross');
printf($format, date('r'), get_owner($file));
clearstatcache();
printf($format, date('r'), get_owner($file));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross
]]>
</screen>
</example>
</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:"../../../../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
-->