svn: /phpdoc/de/trunk/reference/filesystem/functions/ file-get-contents.xml file.xml
[email protected] (Mark Wiesemann)
| Newsgroups | php.doc.de |
|---|---|
| Message-ID | <[email protected]> |
wiesemann Mon, 05 Apr 2010 18:31:43 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=297535
Log:
- sync to EN
- take over
- bug #51366: [DE] Syntax of file_get_contents()
Bug: http://bugs.php.net/51366 (Open) [DE] Syntax of file_get_contents()
Changed paths:
U phpdoc/de/trunk/reference/filesystem/functions/file-get-contents.xml
U phpdoc/de/trunk/reference/filesystem/functions/file.xml
svn-diffs-297535.txt
(text/x-diff, 21.8 KB)
Modified: phpdoc/de/trunk/reference/filesystem/functions/file-get-contents.xml
===================================================================
--- phpdoc/de/trunk/reference/filesystem/functions/file-get-contents.xml 2010-04-05 18:30:09 UTC (rev 297534)
+++ phpdoc/de/trunk/reference/filesystem/functions/file-get-contents.xml 2010-04-05 18:31:43 UTC (rev 297535)
@@ -1,44 +1,305 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
+<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: nobody Status: ready -->
- <refentry xml:id="function.file-get-contents" xmlns="http://docbook.org/ns/docbook">
- <refnamediv>
- <refname>file_get_contents</refname>
- <refpurpose>Liest die gesamte Datei in einen String</refpurpose>
- </refnamediv>
- <refsect1>
- <title>Beschreibung</title>
- <methodsynopsis>
- <type>string</type><methodname>file_get_contents</methodname>
- <methodparam><type>string</type><parameter>filename</parameter></methodparam>
- <methodparam choice="opt"><type>int</type><parameter>use_include_path</parameter></methodparam>
- <methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
- </methodsynopsis>
- <para>
- Diese Funktion ist mit <function>file</function> identisch,
- außer dass <function>file_get_contents</function> die Datei in
- einem String zurückgibt.
- </para>
- <para>
- <function>file_get_contents</function> ist die bevorzugte Methode, um die
- Inhalte einer Datei in einen String einzulesen. Falls von Ihrem Betriebssystem
- unterstützt, verwendet es Memory Mapping Techniken, um die Performance zu erhöhen.
- </para>
- ¬e.bin-safe;
- &tip.fopen-wrapper;
- <note>
- <simpara>
- Die Kontext-Unterstützung wurde in <literal>PHP 5.0.0</literal> eingeführt.
- </simpara>
- </note>
- <simpara>
- Siehe auch: <function>fgets</function>, <function>file</function>,
- <function>fread</function>, <function>include</function>
- und <function>readfile</function>.
- </simpara>
- </refsect1>
- </refentry>
+<!-- EN-Revision: 297028 Maintainer: wiesemann Status: ready -->
+<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.file-get-contents">
+ <refnamediv>
+ <refname>file_get_contents</refname>
+ <refpurpose>Liest die gesamte Datei in einen String</refpurpose>
+ </refnamediv>
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>string</type><methodname>file_get_contents</methodname>
+ <methodparam><type>string</type><parameter>filename</parameter></methodparam>
+ <methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
+ <methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
+ <methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>-1</initializer></methodparam>
+ <methodparam choice="opt"><type>int</type><parameter>maxlen</parameter><initializer>-1</initializer></methodparam>
+ </methodsynopsis>
+ <para>
+ Diese Funktion ist mit <function>file</function> identisch,
+ auÃer dass <function>file_get_contents</function> die Datei in
+ einem String zurückgibt, beginnend am angebenen <parameter>offset</parameter>
+ über bis zu <parameter>maxlen</parameter> Bytes. Im Fehlerfall gibt
+ <function>file_get_contents</function> &false; zurück.
+ </para>
+ <para>
+ <function>file_get_contents</function> ist der empfohlene Weg, um den
+ Inhalt einer Datei in einen String zu lesen. Es werden Techniken zur
+ Speicherabbildung genutzt, um die Performance zu erhöhen, falls das
+ Betriebssystem dies unterstützt.
+ </para>
+ <note>
+ <para>
+ Falls Sie einen URI mit speziellen Zeichen, wie z.B. Leerzeichen, öffnen,
+ müssen den URI mittels <function>urlencode</function> enkodieren.
+ </para>
+ </note>
+ <note>
+ <para>
+ Der Standardwert von <parameter>maxlen</parameter> ist eigentlich nicht
+ <literal>-1</literal>; stattdessen handelt es sich um einen internen
+ PHP-Wert, der angibt, dass der gesamte Stream bis zum Ende der Datei
+ ("end-of-file") kopiert werden soll. Der einzige Weg zur Angabe dieses
+ Standardwerts ist, ihn in der Parameterliste nicht anzugeben.
+ </para>
+ </note>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term><parameter>filename</parameter></term>
+ <listitem>
+ <para>
+ Name der zu lesenden Datei.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>flags</parameter></term>
+ <listitem>
+ <note>
+ <para>
+ Vor PHP 6 hieà dieser Parameter <parameter>use_include_path</parameter>;
+ er war vom Typ <type>bool</type>. Seit PHP 5 kann
+ <constant>FILE_USE_INCLUDE_PATH</constant> genutzt werden, um eine
+ Suche im <link linkend="ini.include-path">include path</link>
+ auszulösen.
+ </para>
+ </note>
+ <para>
+ Der Wert von <parameter>flags</parameter> kann - mit gewissen
+ Einschränkungn - eine beliebige Kombination der folgenden Flags sein,
+ verbunden durch den <link linkend="language.operators.bitwise">binären
+ OR (|)-Operator</link>.
+ </para>
+ <para>
+ <table>
+ <title>Verfügbare Flags</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Flag</entry>
+ <entry>Beschreibung</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <constant>FILE_USE_INCLUDE_PATH</constant>
+ </entry>
+ <entry>
+ Suche nach <parameter>filename</parameter> im include-Verzeichnis.
+ Siehe <link linkend="ini.include-path">include_path</link> für weitere
+ Informationen.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <constant>FILE_TEXT</constant>
+ </entry>
+ <entry>
+ Seit PHP 6 ist das Standardencoding der gelesenen Daten UTF-8. Sie
+ können ein anderes Encoding angeben, indem sie einen eigenen
+ Context erstellen oder indem sie den Standardwert mittels
+ <function>stream_default_encoding</function> ändern. Dieses Flag
+ kann nicht zusammen mit <constant>FILE_BINARY</constant> genutzt
+ werden.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <constant>FILE_BINARY</constant>
+ </entry>
+ <entry>
+ Mit diesem Flag wird die Datei im Binärmodus gelesen. Dies ist die
+ Standardeinstellung; sie kann nicht zusammen mit
+ <constant>FILE_TEXT</constant> genutzt werden.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>context</parameter></term>
+ <listitem>
+ <para>
+ Eine gültige Context-Ressource, die mit
+ <function>stream_context_create</function> erstellt wurde. Falls Sie
+ keinen eigenen Context benötigen, können Sie diesen Parameter mit
+ &null; überspringen.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>offset</parameter></term>
+ <listitem>
+ <para>
+ Die Position, an dem das Lesen im Originalstream beginnt.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>maxlen</parameter></term>
+ <listitem>
+ <para>
+ Maximale Länge der zu lesenden Daten. StandardmäÃig wird solange
+ gelesen bis das Ende der Datei erreicht wird. Beachten Sie, dass
+ dieser Parameter auf den Stream angewendet wird, der durch die
+ Filter verarbeitet wird.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Die Funktion gibt die gelesenen Daten zurück. &return.falseforfailure;.
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>Holen und Ausgeben des Quelltextes der Startseite einer Webseite</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+$homepage = file_get_contents('http://www.example.com/');
+echo $homepage;
+?>
+]]>
+ </programlisting>
+ </example>
+ <example>
+ <title>Suche im include_path</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// <= PHP 5
+$file = file_get_contents('./leute.txt', true);
+// > PHP 5
+$file = file_get_contents('./leute.txt', FILE_USE_INCLUDE_PATH);
+?>
+]]>
+ </programlisting>
+ </example>
+ <example>
+ <title>Lesen einen Abschnitts einer Datei</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// Lese 14 Zeichen, beginnend mit dem 21. Zeichen
+$section = file_get_contents('./leute.txt', NULL, NULL, 20, 14);
+var_dump($section);
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+string(14) "lle Bjori Ro"
+]]>
+ </screen>
+ </example>
+ <example>
+ <title>Nutzung von Stream-Contexten</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// Erzeugen eines Streams
+$opts = array(
+ 'http'=>array(
+ 'method'=>"GET",
+ 'header'=>"Accept-language: en\r\n" .
+ "Cookie: foo=bar\r\n"
+ )
+);
+
+$context = stream_context_create($opts);
+
+// Ãffnen der Datei mit den oben definierten HTTP-Headern
+$file = file_get_contents('http://www.example.com/', false, $context);
+?>
+]]>
+ </programlisting>
+ </example>
+ </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>6.0.0</entry>
+ <entry>
+ Der <parameter>use_include_path</parameter>-Parameter wurde durch den
+ <parameter>flags</parameter>-Parameter ersetzt.
+ </entry>
+ </row>
+ <row>
+ <entry>5.1.0</entry>
+ <entry>
+ Die <parameter>offset</parameter>- und
+ <parameter>maxlen</parameter>-Parameter wurden hinzugefügt.
+ </entry>
+ </row>
+ <row>
+ <entry>5.0.0</entry>
+ <entry>
+ Context-Unterstützung wurde hinzugefügt.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1>
+
+ <refsect1 role="notes">
+ &reftitle.notes;
+ ¬e.bin-safe;
+ &tip.fopen-wrapper;
+ &warn.ssl-non-standard;
+ </refsect1>
+
+ <refsect1 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>file</function></member>
+ <member><function>fgets</function></member>
+ <member><function>fread</function></member>
+ <member><function>readfile</function></member>
+ <member><function>file_put_contents</function></member>
+ <member><function>stream_get_contents</function></member>
+ <member><function>stream_context_create</function></member>
+ </simplelist>
+ </para>
+ </refsect1>
+
+</refentry>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -50,7 +311,7 @@
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
-sgml-default-dtd-file:"../../../../manual.ced"
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
Modified: phpdoc/de/trunk/reference/filesystem/functions/file.xml
===================================================================
--- phpdoc/de/trunk/reference/filesystem/functions/file.xml 2010-04-05 18:30:09 UTC (rev 297534)
+++ phpdoc/de/trunk/reference/filesystem/functions/file.xml 2010-04-05 18:31:43 UTC (rev 297535)
@@ -1,82 +1,249 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
+<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: nobody Status: ready -->
- <refentry xml:id="function.file" xmlns="http://docbook.org/ns/docbook">
- <refnamediv>
- <refname>file</refname>
- <refpurpose>
- Liest eine Datei komplett in ein Array
- </refpurpose>
- </refnamediv>
- <refsect1>
- <title>Beschreibung</title>
- <methodsynopsis>
- <type>array</type><methodname>file</methodname>
- <methodparam><type>string</type><parameter>filename</parameter></methodparam>
- <methodparam choice="opt"><type>int</type><parameter>use_include_path</parameter></methodparam>
- </methodsynopsis>
- <para>
- Die Funktion <function>file</function> ist identisch mit
- <function>readfile</function>, außer dass die eingelesene Datei
- als Array zurückgegeben wird. Jedes Feld des Arrays korrespondiert
- mit einer Zeile der Datei. Der Zeilenumbruch bleibt erhalten. Im
- Fehlerfall gibt <function>file</function> &false; zurück.
- </para>
- <note>
- <para>
- Jede Zeile in dem resultierenden Array enthält das Zeilenende,
- weshalb Sie <function>trim</function> verwenden müssen, falls
- der Zeilenumbruch nicht vorhanden sein soll.
- </para>
- </note>
- ¬e.line-endings;
- <para>
- Optional kann der Parameter <parameter>use_include_path</parameter>
- benutzt und auf '1' gesetzt werden, wenn in dem <link
- linkend="ini.include-path">include_path</link> ebenfalls nach der
- Datei gesucht werden soll.
- </para>
- <para>
- <informalexample>
- <programlisting role="php">
+<!-- EN-Revision: 297028 Maintainer: wiesemann Status: ready -->
+<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.file">
+ <refnamediv>
+ <refname>file</refname>
+ <refpurpose>Liest eine komplette Datei in ein Array</refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>array</type><methodname>file</methodname>
+ <methodparam><type>string</type><parameter>filename</parameter></methodparam>
+ <methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
+ <methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Liest eine komplette Datei in ein Array
+ </para>
+ <note>
+ <para>
+ Sie können <function>file_get_contents</function> benutzen, um den Inhalt
+ einer Datei als String zurückgeliefert zu bekommen.
+ </para>
+ </note>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term><parameter>filename</parameter></term>
+ <listitem>
+ <para>
+ Pfad zur Datei.
+ </para>
+ &tip.fopen-wrapper;
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>flags</parameter></term>
+ <listitem>
+ <para>
+ Der optionale Parameter <parameter>flags</parameter> kann aus einer oder
+ mehreren der folgenden Konstanten bestehen:
+ <variablelist>
+ <varlistentry>
+ <term>
+ <constant>FILE_USE_INCLUDE_PATH</constant>
+ </term>
+ <listitem>
+ <simpara>
+ Suche nach der Datei im <link
+ linkend="ini.include-path">include_path</link>
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <constant>FILE_IGNORE_NEW_LINES</constant>
+ </term>
+ <listitem>
+ <simpara>
+ Zeilenende nicht am Ende jedes Array-Elements einfügen
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <constant>FILE_SKIP_EMPTY_LINES</constant>
+ </term>
+ <listitem>
+ <simpara>
+ Leere Zeilen überspringen
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <constant>FILE_TEXT</constant>
+ </term>
+ <listitem>
+ <simpara>
+ Der Inhalt wird mit dem UTF-8-Encoding zurückgegeben. Sie können ein
+ anderes Encoding angeben, indem sie einen eigenen Context erstellen.
+ Dieses Flag kann nicht zusammen mit <constant>FILE_BINARY</constant>
+ genutzt werden.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <constant>FILE_BINARY</constant>
+ </term>
+ <listitem>
+ <simpara>
+ Der Inhalt wird als binäre Daten gelesen. Dies ist die
+ Standardeinstellung; sie kann nicht zusammen mit
+ <constant>FILE_TEXT</constant> genutzt werden.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>context</parameter></term>
+ <listitem>
+ <para>
+ Eine Context-Ressource, die mit der
+ <function>stream_context_create</function>-Funktion
+ erstellt wurde.
+ </para>
+ <para>
+ ¬e.context-support;
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Gibt die Datei in einem Array zurück. Jedes Element des Arrays entspricht
+ einer Zeile in der Datei, ohne dass das Zeilenende entfernt wird. Im
+ Fehlerfall gibt <function>file</function> &false; zurück.
+ </para>
+ <note>
+ <para>
+ Jede Zeile in dem resultierenden Array enthält das Zeilenende,
+ auÃer es wird <constant>FILE_IGNORE_NEW_LINES</constant> verwendet;
+ daher müssen Sie <function>trim</function> verwenden, falls
+ das Zeilenende nicht vorhanden sein soll.
+ </para>
+ </note>
+ ¬e.line-endings;
+ </refsect1>
+
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>6.0.0</entry>
+ <entry>
+ Unterstützung für die <constant>FILE_TEXT</constant>- und
+ <constant>FILE_BINARY</constant>-Flags wurde hinzugefügt.
+ <note>
+ <para>
+ Wegen der <literal>Vorwärtskompatibilität</literal> sind diese
+ Konstansten bereits ab PHP 5.2.7 verfügbar.
+ </para>
+ </note>
+ </entry>
+ </row>
+ <row>
+ <entry>5.0.0</entry>
+ <entry>
+ Der <parameter>context</parameter>-Parameter wurde hinzugefügt.
+ </entry>
+ </row>
+ <row>
+ <entry>5.0.0</entry>
+ <entry>
+ Prior to PHP 5.0.0 the <parameter>flags</parameter> parameter only
+ covered <link linkend="ini.include-path">include_path</link> and was
+ enabled with 1
+ </entry>
+ </row>
+ <row>
+ <entry>4.3.0</entry>
+ <entry>
+ <function>file</function> wurde binär-sicher.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title><function>file</function>-Beispiel</title>
+ <programlisting role="php">
<![CDATA[
<?php
-// Liest eine Datei in ein Array. Hier gehen wir über HTTP, um die
-// HTML Datei einer URL zu bekommen
-$lines = file ('http://www.example.com/');
+// Liest eine Datei in ein Array. Hier gehen wir über HTTP, um den
+// HTML-Quelltext einer URL zu bekommen
+$lines = file('http://www.example.com/');
-// Durchgehen des Arrays und Anzeigen des HTML Source inkl. Zeilennummern
+// Durchgehen des Arrays und Anzeigen des HTML-Quelltexts inkl. Zeilennummern
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";
}
-// Ein anderes Beispiel: Einlesen einer Webseite in einen String.
+// Ein weiteres Beispiel: Einlesen einer Webseite in einen String.
// Siehe auch file_get_contents().
$html = implode ('', file ('http://www.example.com/'));
+
+// Benutzung des optionalen flags-Parameters seit PHP 5
+$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
]]>
- </programlisting>
- </informalexample>
- </para>
- <note>
- <para>
- Ab PHP 4.3.0 können Sie <function>file_get_contents</function>
- verwenden, um den Inhalt einer Datei als String zurückzugeben.
- </para>
- <para>
- Mit PHP 4.3.0 ist <function>file</function> "Binary Safe".
- </para>
- </note>
- &tip.fopen-wrapper;
- <para>
- Siehe auch <function>readfile</function>,
- <function>fopen</function>, <function>fsockopen</function>,
- <function>popen</function>, <function>file_get_contents</function>,
- und <function>include</function>.
- </para>
- </refsect1>
- </refentry>
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ <refsect1 role="notes">
+ &reftitle.notes;
+ &warn.ssl-non-standard;
+ </refsect1>
+
+ <refsect1 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><function>readfile</function></member>
+ <member><function>fopen</function></member>
+ <member><function>fsockopen</function></member>
+ <member><function>popen</function></member>
+ <member><function>file_get_contents</function></member>
+ <member><function>include</function></member>
+ <member><function>stream_context_create</function></member>
+ </simplelist>
+ </para>
+ </refsect1>
+
+</refentry>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -88,7 +255,7 @@
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
-sgml-default-dtd-file:"../../../../manual.ced"
+sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil