<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id="function.glob" xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>glob</refname> <refpurpose>Find pathnames matching a pattern</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type class="union"><type>array</type><type>false</type></type><methodname>glob</methodname> <methodparam><type>string</type><parameter>pattern</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam> </methodsynopsis> <para> The <function>glob</function> function searches for all the pathnames matching <parameter>pattern</parameter> according to the rules used by the libc glob() function, which is similar to the rules used by common shells. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>pattern</parameter></term> <listitem> <para> The pattern. No tilde expansion or parameter substitution is done. </para> <para> Special characters: <itemizedlist> <listitem> <simpara> <literal>*</literal> - Matches zero or more characters. </simpara> </listitem> <listitem> <simpara> <literal>?</literal> - Matches exactly one character (any character). </simpara> </listitem> <listitem> <simpara> <literal>[...]</literal> - Matches one character from a group of characters. If the first character is <literal>!</literal>, matches any character not in the group. </simpara> </listitem> <listitem> <simpara> <literal>\</literal> - Escapes the following character, except when the <constant>GLOB_NOESCAPE</constant> flag is used. </simpara> </listitem> </itemizedlist> </para> </listitem> </varlistentry> <varlistentry> <term><parameter>flags</parameter></term> <listitem> <para> Valid flags: <itemizedlist> <listitem> <simpara> <constant>GLOB_MARK</constant> - Adds a slash (a backslash on Windows) to each directory returned </simpara> </listitem> <listitem> <simpara> <constant>GLOB_NOSORT</constant> - Return files as they appear in the directory (no sorting). When this flag is not used, the pathnames are sorted alphabetically </simpara> </listitem> <listitem> <simpara> <constant>GLOB_NOCHECK</constant> - Return the search pattern if no files matching it were found </simpara> </listitem> <listitem> <simpara> <constant>GLOB_NOESCAPE</constant> - Backslashes do not quote metacharacters </simpara> </listitem> <listitem> <simpara> <constant>GLOB_BRACE</constant> - Expands {a,b,c} to match 'a', 'b', or 'c' </simpara> </listitem> <listitem> <simpara> <constant>GLOB_ONLYDIR</constant> - Return only directory entries which match the pattern </simpara> </listitem> <listitem> <simpara> <constant>GLOB_ERR</constant> - Stop on read errors (like unreadable directories), by default errors are ignored. </simpara> </listitem> </itemizedlist> <note> <simpara> The <constant>GLOB_BRACE</constant> flag is not available on some non GNU systems, like Solaris or Alpine Linux. </simpara> </note> </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns an array containing the matched files/directories, an empty array if no file matched or &false; on error. </para> <note> <para> On some systems it is impossible to distinguish between empty match and an error. </para> </note> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title> Convenient way how <function>glob</function> can replace <function>opendir</function> and friends. </title> <programlisting role="php"> <![CDATA[ <?php foreach (glob("*.txt") as $filename) { echo "$filename size " . filesize($filename) . "\n"; } ?> ]]> </programlisting> &example.outputs.similar; <screen> <![CDATA[ funclist.txt size 44686 funcsummary.txt size 267625 quickref.txt size 137820 ]]> </screen> </example> </para> </refsect1> <refsect1 role="notes"> &reftitle.notes; ¬e.no-remote; <note> <simpara> This function isn't available on some systems (e.g. old Sun OS). </simpara> </note> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>opendir</function></member> <member><function>readdir</function></member> <member><function>closedir</function></member> <member><function>fnmatch</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 -->