<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.14 $ -->
<!-- splitted from ./en/functions/filesystem.xml, last change in rev 1.2 -->
  <refentry id="function.file-exists">
   <refnamediv>
    <refname>file_exists</refname>
    <refpurpose>Checks whether a file or directory exists</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>bool</type><methodname>file_exists</methodname>
      <methodparam><type>string</type><parameter>filename</parameter></methodparam>
     </methodsynopsis>
    <simpara>
     Returns &true; if the file or directory specified by
     <parameter>filename</parameter> exists; &false; otherwise.
    </simpara>
    <para>
     On windows, use <filename>//computername/share/filename</filename> or
     <filename>\\computername\share\filename</filename> to check files on
     network shares.
    </para>
    <para>
     <example>
      <title>Testing whether a file exists</title>
      <programlisting role="php">
<![CDATA[
<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";
}
?>
]]>
      </programlisting>
     </example>
    </para>

    &note.clearstatcache;

    &tip.fopen-wrapper.stat;
    
    <warning>
     <para>
      This function returns &false; for files inaccessible due to <link
      linkend="features.safe-mode">safe mode</link> restrictions. However these
      files still can be <link linkend="function.include">included</link> if
      they are located in <link
      linkend="ini.safe-mode-include-dir">safe_mode_include_dir</link>.
     </para>
    </warning>

    <para>
     See also <function>is_readable</function>, <function>is_writable</function>,
     <function>is_file</function> and <function>file</function>.
    </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
-->