mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-19 10:28:54 +00:00

of other grammatical issues with the clearstatcache() page at the same time. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@297556 c90b9560-bf6c-de11-be94-00142212c4b1
184 lines
5.1 KiB
XML
184 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.clearstatcache">
|
|
<refnamediv>
|
|
<refname>clearstatcache</refname>
|
|
<refpurpose>Clears file status cache</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>
|
|
When you use <function>stat</function>, <function>lstat</function>, or
|
|
any of the other functions listed in the affected functions list (below),
|
|
PHP caches the information those functions return in order to provide
|
|
faster performance. However, in certain cases, you may want to clear the
|
|
cached information. For instance, if the same file is being checked
|
|
multiple times within a single script, and that file is in danger of
|
|
being removed or changed during that script's operation, you may elect to
|
|
clear the status cache. In these cases, you can use the
|
|
<function>clearstatcache</function> function to clear the information
|
|
that PHP caches about a file.
|
|
</para>
|
|
<para>
|
|
You should also note that PHP doesn't cache information about non-existent
|
|
files. So, if you call <function>file_exists</function> on a file that
|
|
doesn't exist, it will return &false; until you create the file. If you
|
|
create the file, it will return &true; even if you then delete the file.
|
|
However <function>unlink</function> clears the cache automatically.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
This function caches information about specific filenames, so you only
|
|
need to call <function>clearstatcache</function> if you are performing
|
|
multiple operations on the same filename and require the information
|
|
about that particular file to not be cached.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Affected functions include <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>, and
|
|
<function>fileperms</function>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>clear_realpath_cache</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Whether to clear the realpath cache or not.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>filename</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Clear the realpath cache for a specific filename; only used if
|
|
<parameter>clear_realpath_cache</parameter> is &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>
|
|
Added optional <parameter>clear_realpath_cache</parameter>
|
|
and <parameter>filename</parameter> parameters.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title><function>clearstatcache</function> example</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($file, '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:"~/.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
|
|
-->
|