<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.fgets"> <refnamediv> <refname>fgets</refname> <refpurpose>Gets line from file pointer</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>string</type><methodname>fgets</methodname> <methodparam><type>resource</type><parameter>handle</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam> </methodsynopsis> <para> Gets a line from file pointer. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>handle</parameter></term> <listitem> &fs.validfp.all; </listitem> </varlistentry> <varlistentry> <term><parameter>length</parameter></term> <listitem> <para> Reading ends when <parameter>length</parameter> - 1 bytes have been read, or a newline (which is included in the return value), or an EOF (whichever comes first). If no length is specified, it will keep reading from the stream until it reaches the end of the line. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns a string of up to <parameter>length</parameter> - 1 bytes read from the file pointed to by <parameter>handle</parameter>. If there is no more data to read in the file pointer, then &false; is returned. </para> <para> If an error occurs, &false; is returned. </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title>Reading a file line by line</title> <programlisting role="php"> <![CDATA[ <?php $handle = @fopen("/tmp/inputfile.txt", "r"); if ($handle) { while (($buffer = fgets($handle, 4096)) !== false) { echo $buffer; } if (!feof($handle)) { echo "Error: unexpected fgets() fail\n"; } fclose($handle); } ?> ]]> </programlisting> </example> </para> </refsect1> <refsect1 role="notes"> &reftitle.notes; ¬e.line-endings; <note> <para> People used to the 'C' semantics of <function>fgets</function> should note the difference in how <literal>EOF</literal> is returned. </para> </note> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>fgetss</function></member> <member><function>fread</function></member> <member><function>fgetc</function></member> <member><function>stream_get_line</function></member> <member><function>fopen</function></member> <member><function>popen</function></member> <member><function>fsockopen</function></member> <member><function>stream_set_timeout</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 -->