Files
doc-fr/reference/filesystem/functions/fseek.xml
2021-09-24 04:13:47 +01:00

156 lines
4.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: jpauli Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.fseek" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>fseek</refname>
<refpurpose>Modifie la position du pointeur de fichier</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>fseek</methodname>
<methodparam><type>resource</type><parameter>stream</parameter></methodparam>
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>whence</parameter><initializer><constant>SEEK_SET</constant></initializer></methodparam>
</methodsynopsis>
<para>
Modifie le curseur de position dans le fichier <parameter>stream</parameter>.
La nouvelle position, mesurée en octets, à partir du début du fichier,
est obtenue en additionnant la distance <parameter>offset</parameter>
à la position <parameter>whence</parameter>.
</para>
<para>
En général, il est possible de se déplacer au delà de la fin du flux (eof); si des
données sont écrites dans ce cas, l'espace entre la fin du flux et
la position courante sera rempli d'octets nuls. Cependant, certains flux ne supportent
pas ce comportement, en particulier lorsque l'espace de stockage sous-jascent est de
taille fixe.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stream</parameter></term>
<listitem>
&fs.file.pointer;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
La position.
</para>
<para>
Pour se déplacer à une position avant la fin du fichier, vous devez
passer une valeur négative à <parameter>offset</parameter> et définir
le paramètre <parameter>whence</parameter> à la valeur
<constant>SEEK_END</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>whence</parameter></term>
<listitem>
<para>
Les valeurs possibles pour <parameter>whence</parameter> sont :
<simplelist>
<member><constant>SEEK_SET</constant> : la position finale vaut <parameter>offset</parameter> octets.</member>
<member><constant>SEEK_CUR</constant> : la position finale sera la position courante, ajoutée à <parameter>offset</parameter> octets.</member>
<member><constant>SEEK_END</constant> : la position finale vaut la position courante par rapport à la fin du fichier, ajoutée de <parameter>offset</parameter> octets.</member>
</simplelist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne 0 en cas de succès, et sinon -1.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>fseek</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fp = fopen('somefile.txt', 'r');
// lit quelques données
$data = fgets($fp, 4096);
// retourne au début du fichier
// identique à rewind($fp);
fseek($fp, 0);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Si vous ouvrez le fichier avec le mode <literal>a</literal> ou
<literal>a+</literal>, toutes les données que vous écrirez dans le fichier
seront toujours ajoutées, sans se soucier de la position dans le fichier.
</para>
</note>
<note>
<para>
Tous les flux ne supportent pas le déplacement. Pour ceux qui ne le supportent pas,
le déplacement en avant se fera en lisant et libérant les octets; les autres formes
de déplacements échoueront.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ftell</function></member>
<member><function>rewind</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
-->