1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.20 $ -->
<!-- splitted from ./en/functions/filesystem.xml, last change in rev 1.2 -->
<refentry id="function.fgetcsv">
<refnamediv>
<refname>fgetcsv</refname>
<refpurpose>Gets line from file pointer and parse for CSV fields</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>array</type><methodname>fgetcsv</methodname>
<methodparam><type>resource</type><parameter>handle</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>enclosure</parameter></methodparam>
</methodsynopsis>
<para>
<variablelist>
<varlistentry>
<term><parameter>handle</parameter></term>
<listitem>
<simpara>
A valid file pointer to a file successfully opened by <function>fopen</function>,
<function>popen</function>, or <function>fsockopen</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter> (Optional)</term>
<listitem>
<simpara>
Must be greater than the longest line (in characters) to be found in the CSV file
(allowing for trailing line-end characters). It became optional in PHP 5. Omitting
this parameter (or setting it to 0 in PHP 5.0.4 and later) the maximum line length
is not limited, which is slightly slower.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>delimiter</parameter> (Optional)</term>
<listitem>
<simpara>
Set the field delimiter (one character only). Defaults as a comma.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>enclosure</parameter> (Optional)</term>
<listitem>
<simpara>
Set the field enclosure character (one character only). Defaults as a double quotation mark. Added in PHP 4.3.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<simpara>
Similar to <function>fgets</function> except that
<function>fgetcsv</function> parses the line it reads for fields
in <acronym>CSV</acronym> format and returns an array containing
the fields read.
</simpara>
<simpara>
<function>fgetcsv</function> returns &false; on error, including
end of file.
</simpara>
<note>
<simpara>
A blank line in a CSV file will be returned as an array
comprising a single <type>null</type> field, and will not be treated
as an error.
</simpara>
</note>
<para>
<example>
<title>Read and print the entire contents of a CSV file</title>
<programlisting role="php">
<![CDATA[
<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
?>
]]>
</programlisting>
</example>
</para>
<para>
<function>fgetcsv</function> has been binary safe since PHP 4.3.5
</para>
<note>
<simpara>
Locale setting is taken into account by this function. If
<varname>LANG</varname> is e.g. <literal>en_US.UTF-8</literal>, files in
one-byte encoding are read wrong by this function.
</simpara>
</note>
¬e.line-endings;
<para>
See also <function>explode</function>, <function>file</function>,
<function>pack</function> and <function>fputcsv</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
-->
|