cvs: phpdoc /fr/functions array.xml bc.xml bzip2.xml calendar.xml ccvs.xml classobj.xml com.xml cpdf.xml ctype.xml curl.xml cybercash.xml datetime.xml
dbase.xml dbm.xml dbx.xml dir.xml domxml.xml exec.xml fbsql.xml fdf.xml filepro.xml filesystem.xml funchand.xml gmp.xml http.xml hw.xml ibase.xml
icap.xml iconv.xml ifx.xml image.xml
| From: | Damien Seguy | Date: | Mon, 12 Nov 2001 05:10:22 +0000 |
| Subject: | cvs: phpdoc /fr/functions array.xml bc.xml bzip2.xml calendar.xml ccvs.xml classobj.xml com.xml cpdf.xml ctype.xml curl.xml cybercash.xml datetime.xml dbase.xml dbm.xml dbx.xml dir.xml domxml.xml exec.xml fbsql.xml fdf.xml filepro.xml filesystem.xml funchand.xml gmp.xml http.xml hw.xml ibase.xml icap.xml iconv.xml ifx.xml image.xml |
||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969338748@lists.php.net to get a copy of this message | ||
dams Mon Nov 12 00:10:22 2001 EDT
Modified files:
/phpdoc/fr/functions array.xml bc.xml bzip2.xml calendar.xml
ccvs.xml classobj.xml com.xml cpdf.xml
ctype.xml curl.xml cybercash.xml datetime.xml
dbase.xml dbm.xml dbx.xml dir.xml domxml.xml
exec.xml fbsql.xml fdf.xml filepro.xml
filesystem.xml funchand.xml gmp.xml http.xml
hw.xml ibase.xml icap.xml iconv.xml ifx.xml
image.xml
Log:
Commiting latest changes since July 1rst.
Addings new functions, typos corrections.
Uptodate with en.
Index: phpdoc/fr/functions/array.xml diff -u phpdoc/fr/functions/array.xml:1.43 phpdoc/fr/functions/array.xml:1.44 --- phpdoc/fr/functions/array.xml:1.43 Sat Nov 10 16:49:49 2001 +++ phpdoc/fr/functions/array.xml Mon Nov 12 00:10:19 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.43 $ --> +<!-- $Revision: 1.44 $ --> <reference id="ref.array"> <title>Tableaux</title> <titleabbrev>Tableaux</titleabbrev> @@ -144,6 +144,148 @@ </para> </refsect1> </refentry> + <!-- + <refentry id="function.array-change-key-case"> + <refnamediv> + <refname>array_change_key_case</refname> + <refpurpose> + Retourne un tableau dont toutes les clés ont été forcées en + majuscules ou minuscules. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>array_change_key_case</function></funcdef> + <paramdef>array <parameter>input</parameter></paramdef> + <paramdef>int <parameter><optional>case</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>array_change_key_case</function> modifie les clés du + tableau <parameter>input</parameter>, et force leur type. + Le paramètre optionnel <parameter>case</parameter> + permet de forcer les chaînes de caractères en majuscules + <constant>CASE_UPPER</constant> ou minuscules + <constant>CASE_LOWER</constant>. La valeur par défaut + est <constant>CASE_LOWER</constant>. Cette fonction + laissera les clés numériques inchangées. + </para> + <para> + <example> + <title>Exemple avec <function>array_change_key_case</function></title> + <programlisting role="php"> +<?php +$input_array = array("PrEmIEr" => 1, "SecOnd" => 2); +print_r(array_change_key_case($input_array, CASE_UPPER); +?> + </programlisting> + </example> + L'exemple ci-dessus va afficher : + <informalexample> + <programlisting> +Array +( + [PREMIER] => 1 + [SECOND] => 2 +) + + </programlisting> + </informalexample> + </para> + </refsect1> + </refentry> + --> + <refentry id="function.array-chunk"> + <refnamediv> + <refname>array_chunk</refname> + <refpurpose>Sépare un tableau en tableaux de taille inférieure</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>array_chunk</function></funcdef> + <paramdef>array <parameter>input</parameter></paramdef> + <paramdef>int <parameter>size</parameter></paramdef> + <paramdef>bool <parameter><optional>preserve_keys</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>array_chunk</function> sépare le tableau + <parameter>input</parameter> en plusieurs tableaux de taille + <parameter>size</parameter>. Il est aussi possible que le + dernier tableau ait moins de valeurs. Le résultat est un + tableau multidimensionnel, indexé numériquement. + </para> + <para> + En passant la valeur &true; au paramètre optionnel + <parameter>preserve_keys</parameter>, vous pouvez forcer + PHP à préserver les clés originales du tableau + <parameter>input</parameter>. Si vous utilisez la valeur + par défaut (&false;), de nouveaux index numériques seront + fournis, commencant à 0. + </para> + <para> + <example> + <title>Exemple avec <function>array_chunk</function></title> + <programlisting role="php"> +<?php +$input_array = array('a', 'b', 'c', 'd', 'e'); +print_r(array_chunk($input_array, 2)); +print_r(array_chunk($input_array, 2, TRUE)); +?> + </programlisting> + </example> + L'exemple ci-dessus va afficher : + <informalexample> + <programlisting> +Array +( + [0] => Array + ( + [0] => a + [1] => b + ) + + [1] => Array + ( + [0] => c + [1] => d + ) + + [2] => Array + ( + [0] => e + ) + +) +Array +( + [0] => Array + ( + [0] => a + [1] => b + ) + + [1] => Array + ( + [2] => c + [3] => d + ) + + [2] => Array + ( + [4] => e + ) + +) + </programlisting> + </informalexample> + </para> + </refsect1> + </refentry> <refentry id="function.array-count-values"> <refnamediv> <refname>array_count_values</refname> @@ -2515,6 +2657,47 @@ </para> </refsect1> </refentry> + <!-- (temporarily?) undocumented + <refentry id="function.key-exists"> + <refnamediv> + <refname>key_exists</refname> + <refpurpose>Vérifie si une clé éxiste dans un tableau</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>key_exists</function></funcdef> + <paramdef>mixed <parameter>key</parameter></paramdef> + <paramdef>array <parameter>search</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>key_exists</function> retourne &true; s'il existe une + clé du nom de <parameter>key</parameter> dans le tableau + <parameter>search</parameter>. <parameter>key</parameter> + peut être n'importe quelle valeur valide d'index + de tableau. + </para> + <para> + <example> + <title>Exemple avec <function>key_exists</function></title> + <programlisting role="php"> +<?php +$search_array = array("premier" => 1, "second" => 4); +if (key_exists("premier", $search_array)) { + echo "L'élément 'premier' existe dans le tableau"; +} +?> + </programlisting> + </example> + </para> + <para> + See also <function>isset</function>. + </para> + </refsect1> + </refentry> + --> <refentry id="function.krsort"> <refnamediv> <refname>krsort</refname> Index: phpdoc/fr/functions/bc.xml diff -u phpdoc/fr/functions/bc.xml:1.6 phpdoc/fr/functions/bc.xml:1.7 --- phpdoc/fr/functions/bc.xml:1.6 Mon Jul 23 05:10:16 2001 +++ phpdoc/fr/functions/bc.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <reference id="ref.bc"> <title>Nombres de grande taille</title> <titleabbrev>BC math</titleabbrev> Index: phpdoc/fr/functions/bzip2.xml diff -u phpdoc/fr/functions/bzip2.xml:1.11 phpdoc/fr/functions/bzip2.xml:1.12 --- phpdoc/fr/functions/bzip2.xml:1.11 Mon Jul 16 12:46:10 2001 +++ phpdoc/fr/functions/bzip2.xml Mon Nov 12 00:10:20 2001 @@ -1,16 +1,18 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.12 $ --> <reference id="ref.bzip2"> <title>Compression Bzip2</title> <titleabbrev>Bzip2</titleabbrev> <partintro> <para> - Ce module utilise les fonctions de la librairie + Ce module utilise les fonctions de la librairie <ulink url="&url.bzip2;">bzip2</ulink>, de Julian Seward pour écrire et lire des fichier bzip2 (.bz2) de manière transparente. </para> <para> Le support <acronym>bzip2</acronym> par PHP n'est pas activé par défaut. Vous devez utiliser l'option de configuration - <link linkend="install.configure.with-bzip2-dir"><option role="configure">--with-bz2[=DIR]</option></link> + <link linkend="install.configure.with-bzip2-dir"><option role="configure">--with-bz2[=DIR]</option></link> lors de la compilation de PHP pour l'activer. Ce module requiert la librairie bzip2/libbzip2, version >= 1.0.x. </para> @@ -58,7 +60,7 @@ </funcprototype> </funcsynopsis> <para> - <function>bzclose</function> ferme le fichier bzip2 + <function>bzclose</function> ferme le fichier bzip2 représenté par le pointeur <parameter>bz</parameter>. </para> <para> @@ -70,7 +72,7 @@ valide, et avoir été ouvert avec <function>bzopen</function>. </para> <para> - Voir aussi + Voir aussi <function>bzopen</function>. </para> </refsect1> @@ -89,13 +91,13 @@ <paramdef>int <parameter><optional>blocksize</optional></parameter> </paramdef> - <paramdef>int + <paramdef>int <parameter><optional>workfactor</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> - <function>bzcompress</function> compresse la chaîne + <function>bzcompress</function> compresse la chaîne <parameter>source</parameter> et retourne les données ainsi encodée. </para> @@ -125,7 +127,7 @@ </example> </para> <para> - Voir aussi + Voir aussi <function>bzdecompress</function>. </para> </refsect1> @@ -147,15 +149,15 @@ </funcprototype> </funcsynopsis> <para> - <function>bzdecompress</function> décompresse la chaîne + <function>bzdecompress</function> décompresse la chaîne <parameter>source</parameter>, en supposant qu'elle a été compressée avec bzip2, puis la retourne. Si le paramètre optionnel <parameter>small</parameter> vaut <literal>TRUE</literal>, un autre algorithme de décompression sera utilisé : il consomme - moins de mémoire (le maximum demandé tombe autour de - 2300 ko), mais fonctionne globalement à la moitié de - la vitesse. Reportez-vous à la - <ulink url="&url.bzip2;">documentation bzip2</ulink> pour plus de + moins de mémoire (le maximum demandé tombe autour de + 2300 ko), mais fonctionne globalement à la moitié de + la vitesse. Reportez-vous à la + <ulink url="&url.bzip2;">documentation bzip2</ulink> pour plus de détails sur cette fonctionnalité. </para> <para> @@ -169,7 +171,7 @@ </example> </para> <para> - Voir aussi + Voir aussi <function>bzcompress</function>. </para> </refsect1> @@ -189,12 +191,12 @@ </funcsynopsis> <para> <function>bzerrno</function> retourne le numéro d'erreur - du fichier bz2 représenté par le pointeur + du fichier bz2 représenté par le pointeur <parameter>bz</parameter>. </para> <para> - Voir aussi - <function>bzerror</function> et + Voir aussi + <function>bzerror</function> et <function>bzerrstr</function>. </para> </refsect1> @@ -216,7 +218,7 @@ </funcsynopsis> <para> <function>bzerror</function> retourne le numéro et le message d'erreur - du fichier bz2 représenté par le pointeur + du fichier bz2 représenté par le pointeur <parameter>bz</parameter>. <function>bzerror</function> retourne un tableau associatif. </para> @@ -233,8 +235,8 @@ </example> </para> <para> - Voir aussi - <function>bzerrno</function> et + Voir aussi + <function>bzerrno</function> et <function>bzerrstr</function>. </para> </refsect1> @@ -254,12 +256,12 @@ </funcsynopsis> <para> <function>bzerrstr</function> retourne le message d'erreur - du fichier bz2 représenté par le pointeur + du fichier bz2 représenté par le pointeur <parameter>bz</parameter>. </para> <para> - Voir aussi - <function>bzerrno</function> et + Voir aussi + <function>bzerrno</function> et <function>bzerror</function>. </para> </refsect1> @@ -288,8 +290,8 @@ en cas de succès, et <literal>FALSE</literal> sinon. </para> <para> - Voir aussi - <function>bzread</function> et + Voir aussi + <function>bzread</function> et <function>bzwrite</function>. </para> </refsect1> @@ -310,7 +312,7 @@ </funcsynopsis> <para> <function>bzopen</function> ouvre un fichier bzip2 (.bz2) - en écriture ou en lecture. <parameter>filename</parameter> + en écriture ou en lecture. <parameter>filename</parameter> est le nom du fichier à ouvrir. <parameter>mode</parameter> est similaire au même paramètre de la fonction <function>fopen</function> (`r' pour lecture, `w' pour écriture, etc.). @@ -331,7 +333,7 @@ </example> </para> <para> - Voir aussi + Voir aussi <function>bzclose</function>. </para> </refsect1> @@ -347,20 +349,20 @@ <funcprototype> <funcdef>string <function>bzread</function></funcdef> <paramdef>resource <parameter>bz</parameter></paramdef> - <paramdef>int + <paramdef>int <parameter><optional>length</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> - <function>bzread</function> lit jusqu'à <parameter>length</parameter> - octets depuis le fichier bzip2, référencé par le pointeur - <parameter>bz</parameter>. La lecture s'arrête lorsque - <parameter>length</parameter> octets (non compressés) - ont été lus, qu'une erreur est rencontrée, - ou bien que la fin du fichier a été atteinte : - le premier des trois qui survient. Si le paramètre - optionnel <parameter>length</parameter> est omis, + <function>bzread</function> lit jusqu'à <parameter>length</parameter> + octets depuis le fichier bzip2, référencé par le pointeur + <parameter>bz</parameter>. La lecture s'arrête lorsque + <parameter>length</parameter> octets (non compressés) + ont été lus, qu'une erreur est rencontrée, + ou bien que la fin du fichier a été atteinte : + le premier des trois qui survient. Si le paramètre + optionnel <parameter>length</parameter> est omis, <function>bzread</function> lit 1024 octets (non compressés) en même temps. </para> @@ -377,8 +379,8 @@ </example> </para> <para> - Voir aussi - <function>bzwrite</function> et + Voir aussi + <function>bzwrite</function> et <function>bzopen</function>. </para> </refsect1> @@ -403,10 +405,10 @@ <para> <function>bzwrite</function> écrit le contenu de la chaîne <parameter>data</parameter> dans le fichier bzip2 représenté - par <parameter>bz</parameter>. Si le paramètre optionnel - <parameter>length</parameter> est fourni, l'écriture sera - arrêtée après l'écriture de - <parameter>length</parameter> octets (non compressés), + par <parameter>bz</parameter>. Si le paramètre optionnel + <parameter>length</parameter> est fourni, l'écriture sera + arrêtée après l'écriture de + <parameter>length</parameter> octets (non compressés), ou la fin de la chaîne (le premier qui survient). </para> <para> @@ -418,12 +420,12 @@ $bz = bzopen("/tmp/foo.bz2", "w"); bzwrite($bz, $str, strlen($str)); ?> - </programlisting> + </programlisting> </example> </para> <para> - Voir aussi - <function>bzread</function> et + Voir aussi + <function>bzread</function> et <function>bzopen</function>. </para> </refsect1> Index: phpdoc/fr/functions/calendar.xml diff -u phpdoc/fr/functions/calendar.xml:1.5 phpdoc/fr/functions/calendar.xml:1.6 --- phpdoc/fr/functions/calendar.xml:1.5 Sat Jul 7 18:22:02 2001 +++ phpdoc/fr/functions/calendar.xml Mon Nov 12 00:10:20 2001 @@ -1,543 +1 @@ - <reference id="ref.calendar"> - <title>Calendrier</title> - <titleabbrev>Calendrier</titleabbrev> - <partintro> - <para> - Les fonctions de calendrier ne sont disponibles que si - l'extension calendrier a été compilée. - Elle est située dans les sous-dossiers "dl" ou "ext" - de votre distribution de PHP. Lisez le fichier - README pour plus de détails. - </para> - <para> - L'extension de calendrier propose une série de fonctions - qui simplifie les conversions entre les différents formats - de calendrier. La référence est le nombre de jour du - calendrier Julien. C'est le nombre de jours depuis une date qui - commence bien au delà des dates les plus reculées - dont on a besoin (située en 4000 avant J.C.). Pour convertir - une date d'un calendrier à un autre, il faut d'abord la convertir - dans ce calendrier, puis convertir le résultat dans le calendrier - désiré. Attention, le nombre de jour du calendrier Julien - est un système très différent du calendrier Julien!. - Pour plus d'informations (en anglais), reportez vous à - <ulink url="&url.calendar;">&url.calendar;</ulink>. - Les traductions issues de ces pages seront mises entre guillemets. - </para> - </partintro> - <refentry id="function.jdtogregorian"> - <refnamediv> - <refname>JDToGregorian</refname> - <refpurpose> - Convertit le nombre de jours du calendrier Julien en date grégorienne. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtogregorian</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtogregorian</function> convertit le nombre de jours du - calendrier Julien en une chaîne contenant une date du calendrier - grégorien, au format "mois/jour/année". - </para> - </refsect1> - </refentry> - <refentry id="function.gregoriantojd"> - <refnamediv> - <refname>GregorianToJD</refname> - <refpurpose> - Convertit une date grégorienne en nombre de jours du calendrier julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>gregoriantojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - Intervalle de validité pour le calendrier grégorien : - 4714 avant JC à 9999 après JC.A.D. - </para> - <para> - Bien qu'il soit possible de manipuler des dates jusqu'en 4714 avant JC, - une telle utilisation n'est pas significative. En effet, ce calendrier fut - créé le 18 octobre 1582 après J.C. (ou 5 octobre 1582 - en calendrier grec). Certains pays ne l'acceptèrent que bien plus - tard. Par exemple, les britanniques n'y passèrent en 1752, les - Russes en 1918 et les Grecs en 1923. La plus part des pays européens - utilisaient le calendrier Julien avant le Grégorien. - <example> - <title>Fonctions calendrier</title> - <programlisting role="php"> -<?php -$jd = gregoriantojd(10,11,1970); -echo("$jd\n"); -$gregorian = jdtogregorian($jd); -echo("$gregorian\n"); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.jdtojulian"> - <refnamediv> - <refname>JDToJulian</refname> - <refpurpose> - Convertit le nombre de jours du calendrier Julien en date du calendrier - Julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtojulian</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtojulian</function> convertit le nombre de jours du calendrier - Julien en une chaîne contenant la date du calendrier Julien, au format - "mois/jour/année". - </para> - </refsect1> - </refentry> - <refentry id="function.juliantojd"> - <refnamediv> - <refname>JulianToJD</refname> - <refpurpose> - Convertit le nombre de jour du calendrier Julien en date du calendrier - Julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>juliantojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - Intervalle de validité du calendrier Julien : 4713 avant JC à - 9999 après J.C.. - </para> - <para> - Bien qu'il soit possible de manipuler des dates jusqu'en 4713 avant JC, - une telle utilisation n'est pas significative. En effet, ce calendrier fut - créé en 46 avant JC, et ses détails ne furent - finalisés qu'au plus tôt en 8 après JC, et probablement - pas avant le 4ème siècle après JC. De plus, le - début de l'année variait suivant les peuples, certains - n'acceptant pas janvier comme premier mois de l'année. - </para> - </refsect1> - </refentry> - <refentry id="function.jdtojewish"> - <refnamediv> - <refname>JDToJewish</refname> - <refpurpose> - Convertit le nombre de jours du calendrier julien en date du calendrier - juif. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtojewish</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtojewish</function> convertit le nombre de jours du calendrier - julien en date du calendrier juif. - </para> - </refsect1> - </refentry> - <refentry id="function.jewishtojd"> - <refnamediv> - <refname>JewishToJD</refname> - <refpurpose> - Convertit une date du calendrier juif en nombre de jours du calendrier julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>jewishtojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - Bien qu'il soit possible de manipuler des dates à partir de l'an 1 (3761 - avant JC), une telle utilisation a peu de sens. - </para> - <para> - Le calendrier juif a été utilisé depuis plusieurs - dizaines de siècles, mais dans les premiers temps, il n'y avait - pas de formule pour déterminer le début du mois. Un nouveau - mois commencait quand une nouvelle lune était observée. - </para> - </refsect1> - </refentry> - <refentry id="function.jdtofrench"> - <refnamediv> - <refname>JDToFrench</refname> - <refpurpose> - Convertit le nombre de jours du calendrier julien en date du calendrier - français républicain - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtofrench</function></funcdef> - <paramdef>int <parameter>juliandaycount</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtofrench</function> convertit le nombre de jours du calendrier - julien en date du calendrier français républicain. - </para> - </refsect1> - </refentry> - <refentry id="function.frenchtojd"> - <refnamediv> - <refname>FrenchToJD</refname> - <refpurpose> - Convertit une date du calendrier français républicain en nombre - de jours du calendrier julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>frenchtojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - <function>frenchtojd</function> convertit une date du calendrier - français républicain en nombre de jour du calendrier julien. - </para> - <para> - Ces fonctions convertissent les dates comprises entre l'an 1 et l'an 14 - (22 September 1792 à 22 September 1806 en calendrier grégorien). - Cela couvre plus que la durée d'existence de ce calendrier. - </para> - </refsect1> - </refentry> - <refentry id="function.jdmonthname"> - <refnamediv> - <refname>JDMonthName</refname> - <refpurpose> Retourne le nom du mois. </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdmonthname</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdmonthname</function> retourne une chaîne contenant le - nom du mois. <parameter>mode</parameter> indique de quel calendrier - dépend ce mois, et quel type de nom doit être retourné. - <table> - <title>Modes de calendrier</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Mode</entry> - <entry>Signification</entry> - </row> - </thead> - <tbody> - <row> - <entry>0</entry> - <entry>Grégorien - abrégé</entry> - </row> - <row> - <entry>1</entry> - <entry>Grégorien</entry> - </row> - <row> - <entry>2</entry> - <entry>Julien - abrégé</entry> - </row> - <row> - <entry>3</entry> - <entry>Julien</entry> - </row> - <row> - <entry>4</entry> - <entry>Juif</entry> - </row> - <row> - <entry>5</entry> - <entry>Républicain français</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.jddayofweek"> - <refnamediv> - <refname>JDDayOfWeek</refname> - <refpurpose> - Retourne le numéro du jour de la semaine. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>mixed <function>jddayofweek</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcsynopsis> - <para> - <function>jddayofweek</function> retourne le numéro du jour de - la semaine. Peut retourner une chaîne ou un entier, en fonction - du mode. - <table> - <title>Modes</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Mode</entry> - <entry>Signification</entry> - </row> - </thead> - <tbody> - <row> - <entry>0</entry> - <entry>Retourne le numéro du jour comme un entier - (0=dimanche, 1=lundi, etc.) - </entry> - </row> - <row> - <entry>1</entry> - <entry>Retourne une chaîne contenant le nom du jour - (anglais grégorien) - </entry> - </row> - <row> - <entry>2</entry> - <entry>Retourne une chaîne contenant le nom abrégé du - jour de la semaine (anglais grégorien). - </entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.easter-date"> - <refnamediv> - <refname>easter_date</refname> - <refpurpose> - Retourne un timestamp UNIX pour Pàques, à minuit, pour une - année donnée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>easter_date</function></funcdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - <function>easter_date</function> retourne un timestamp UNIX pour Pàques, - à minuit, pour une année donnée. Si l'année n'est - pas précisée, c'est l'année en cours qui est - utilisée. - </para> - <para> - <emphasis>ATTENTION:</emphasis> <function>easter_date</function> - génére une alerte (Warning) si la date tombe hors de la - zone de validité des timestamp UNIX (i.e. avant 1970 ou - après 2037). - <example> - <title>Exemples avec <function>easter_date</function></title> - <programlisting role="php"> -echo date( "M-d-Y", easter_date(1999) ); /* "04 avril 1999" */ -echo date( "M-d-Y", easter_date(2000) ); /* "23 avril 2000" */ -echo date( "M-d-Y", easter_date(2001) ); /* "15 avril 2001" */ - </programlisting> - </example> - </para> - <para> - La date de Pàques a été fixée par le concile - de Nicée, en 325 de notre ère, comme étant le dimanche - après la première lune pleine qui suit l'équinoxe de - printemps. L'équinoxe de printemps est considéré - comme étant toujours le 21 mars, ce qui réduit le - problème au calcul de la date de la lune pleine qui suit, et le - dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius - Exiguus. Avec le calendrier Julien, (pour les années avant 1753), - un cycle de 19 ans suffit pour connaître les date des phases de la - lune. Avec le calendrier grégorien, (à partir des années - 1753, concu par Clavius et Lilius, puis introduit par le pape Gregoire XIII - en Octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), - deux facteurs de corrections ont été ajoutés pour rendre - le cycle plus précis. - </para> - <para> - (Ce code est basé sur le programme en C de Simon Kershaw, - <webmaster@ely.anglican.org>) - </para> - <para> - Voir <function>easter_days</function> pour les calculs de date de - Pàques avant 1970 et apres 2037. - </para> - </refsect1> - </refentry> - <refentry id="function.easter-days"> - <refnamediv> - <refname>easter_days</refname> - <refpurpose> - Retourne le nombre de jour entre le 21 Mars et Pàques, pour une - année donnée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>easter_days</function></funcdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - <function>easter_days</function> retourne le nombre de jour entre le 21 Mars - et Pàques, pour une année donnée. Si l'année n'est - pas précisée, l'année en cours est utilisée par - défaut. - </para> - <para> - <function>easter_days</function> peut être utilisée à - la place de <function>easter_date</function> pour calculer la date de - Pàques, pour les années qui tombent hors de l'intervalle - de validité des timestamps UNIX (i.e. avant 1970 ou après 2037). - <example> - <title>Exemple avec <function>easter_days</function></title> - <programlisting role="php"> -<?php -echo easter_days(1999); /* 14, i.e. 4 Avril */ -echo easter_days(1492); /* 32, i.e. 22 Avril */ -echo easter_days(1913); /* 2, i.e. 23 Mars */ -?> - </programlisting> - </example> - </para> - <para> - La date de Pàques a été fixée par le concile - de Nicée, en 325 de notre ère, comme étant le dimanche - après la première lune pleine qui suit l'équinoxe de - printemps. L'équinoxe de printemps est considéré - comme étant toujours le 21 mars, ce qui réduit le - problème au calcul de la date de la lune pleine qui suit, et le - dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius - Exiguus. Avec le calendrier Julien, (pour les années avant 1753), - un cycle de 19 ans suffit pour connaître les date des phases de la - lune. Avec le calendrier grégorien, (à partir des années - 1753, concu par Clavius et Lilius, puis introduit par le pape Gregoire XIII - en Octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), - deux facteurs de corrections ont été ajoutés pour rendre - le cycle plus précis. - </para> - <para> - (Ce code est basé sur le programme en C de Simon Kershaw, - <webmaster@ely.anglican.org>) - </para> - <para> - Voir aussi <function>easter_date</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.unixtojd"> - <refnamediv> - <refname>unixtojd</refname> - <refpurpose>Convertit un timestamp UNIX en nombre de jours Julien</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>unixtojd</function></funcdef> - <paramdef>int - <parameter><optional>timestamp</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>unixtojd</function> retourne le nombre de jours juliens du - timestamp UNIX <parameter>timestamp</parameter> (nombre de secondes - depuis le 1/1/1970), ou pour le jour courant si - <parameter>timestamp</parameter> est omis. - </para> - <para> - Voir aussi <function>jdtounix</function>. - </para> - <note> - <para> - <function>unixtojd</function> n'est disponible qu'à partir de la - version PHP 4.0RC1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.jdtounix"> - <refnamediv> - <refname>jdtounix</refname> - <refpurpose>Convertit un nombre de jour Julien en timestamp UNIX</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>jdtounix</function></funcdef> - <paramdef>int <parameter>jday</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>jdtounix</function> retourne un timestamp UNIX - correspondant au nombre de jour julien <parameter>jday</parameter> - ou &false; si <parameter>jday</parameter> n'est pas dans l'intervalle de - validité de l'époque UNIX. (années grégorienne - entre 1970 et 2037 ou 2440588 <= <parameter>jday</parameter> <= 2465342 ). - </para> - <para> - Voir aussi <function>jdtounix</function>. - </para> - <note> - <para> - <function>jdtounix</function> n'est disponible qu'à partir de la - version PHP 4.0RC1. - </para> - </note> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --><reference id="ref.calendar"> <title>Calendrier</title> <titleabbrev>Calendrier</titleabbrev> <partintro> <para> Les fonctions de calendrier ne sont disponibles que si l'extension calendrier a été compilée. Elle est située dans les sous-dossiers "dl" ou "ext" de votre distribution de PHP. Lisez le fichier README pour plus de détails. </para> <para> L'extension de calendrier propose une série de fonctions qui simplifient les conversions entre les différents formats de calendrier. La référence est le nombre de jours du calendrier Julien. C'est le nombre de jours depuis une date qui commence bien au-delà des dates les plus reculées dont on a besoin (située en 4000 avant J.C.). Pour convertir une date d'un calendrier à un autre, il faut d'abord la convertir dans ce calendrier, puis convertir le résultat dans le calendrier désiré. Attention, le nombre de jours du calendrier Julien est un système très différent du calendrier Julien!. Pour plus d'informations (en anglais), reportez-vous à <ulink url="&url.calendar;">&url.calendar;</ulink>. Les traductions issues de ces pages seront mises entre guillemets. </para> </partintro> <refentry id="function.jdtogregorian"> <refnamediv> <refname>JDToGregorian</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date grégorienne. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtogregorian</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtogregorian</function> convertit le nombre de jours du calendrier Julien en une chaîne contenant une date du calendrier grégorien, au format "mois/jour/année". </para> </refsect1> </refentry> <refentry id="function.gregoriantojd"> <refnamediv> <refname>GregorianToJD</refname> <refpurpose> Convertit une date grégorienne en nombre de jours du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gregoriantojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Intervalle de validité pour le calendrier grégorien : 4714 avant JC à 9999 après JC.A.D. </para> <para> Bien qu'il soit possible de manipuler des dates jusqu'en 4714 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé le 18 octobre 1582 après J.C. (ou 5 octobre 1582 en calendrier grec). Certains pays ne l'acceptèrent que bien plus tard. Par exemple, les britanniques n'y passèrent en 1752, les Russes en 1918 et les Grecs en 1923. La plupart des pays européens utilisaient le calendrier Julien avant le Grégorien. <example> <title>Fonctions calendrier</title> <programlisting role="php"><?php$jd = gregoriantojd(10,11,1970);echo("$jd\n");$gregorian = jdtogregorian($jd);echo("$gregorian\n");?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.jdtojulian"> <refnamediv> <refname>JDToJulian</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtojulian</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtojulian</function> convertit le nombre de jours du calendrier Julien en une chaîne contenant la date du calendrier Julien, au format "mois/jour/année". </para> </refsect1> </refentry> <refentry id="function.juliantojd"> <refnamediv> <refname>JulianToJD</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>juliantojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Intervalle de validité du calendrier Julien : 4713 avant JC à 9999 après J.C.. </para> <para> Bien qu'il soit possible de manipuler des dates jusqu'en 4713 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé en 46 avant JC, et ses détails ne furent finalisés qu'au plus tôt en 8 après JC, et probablement pas avant le 4ème siècle après JC. De plus, le début de l'année variait suivant les peuples, certains n'acceptant pas janvier comme premier mois de l'année. </para> </refsect1> </refentry> <refentry id="function.jdtojewish"> <refnamediv> <refname>JDToJewish</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier juif. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtojewish</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtojewish</function> convertit le nombre de jours du calendrier Julien en date du calendrier juif. </para> </refsect1> </refentry> <refentry id="function.jewishtojd"> <refnamediv> <refname>JewishToJD</refname> <refpurpose> Convertit une date du calendrier juif en nombre de jours du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>jewishtojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Bien qu'il soit possible de manipuler des dates à partir de l'an 1 (3761 avant JC), une telle utilisation a peu de sens. </para> <para> Le calendrier juif a été utilisé depuis plusieurs dizaines de siècles, mais dans les premiers temps, il n'y avait pas de formule pour déterminer le début du mois. Un nouveau mois commencait quand une nouvelle lune était observée. </para> </refsect1> </refentry> <refentry id="function.jdtofrench"> <refnamediv> <refname>JDToFrench</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtofrench</function></funcdef> <paramdef>int <parameter>juliandaycount</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtofrench</function> convertit le nombre de jours du calendrier julien en date du calendrier français républicain. </para> </refsect1> </refentry> <refentry id="function.frenchtojd"> <refnamediv> <refname>FrenchToJD</refname> <refpurpose> Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>frenchtojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>frenchtojd</function> convertit une date du calendrier français républicain en nombre de jours du calendrier Julien. </para> <para> Ces fonctions convertissent les dates comprises entre l'an 1 et l'an 14 (22 September 1792 à 22 September 1806 en calendrier grégorien). Cela couvre plus que la durée d'existence de ce calendrier. </para> </refsect1> </refentry> <refentry id="function.jdmonthname"> <refnamediv> <refname>JDMonthName</refname> <refpurpose>Retourne le nom du mois. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdmonthname</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdmonthname</function> retourne une chaîne contenant le nom du mois. <parameter>mode</parameter> indique de quel calendrier dépend ce mois, et quel type de nom doit être retourné. <table> <title>Modes de calendrier</title> <tgroup cols="2"> <thead> <row> <entry>Mode</entry> <entry>Signification</entry> </row> </thead> <tbody> <row> <entry>0</entry> <entry>Grégorien - abrégé</entry> </row> <row> <entry>1</entry> <entry>Grégorien</entry> </row> <row> <entry>2</entry> <entry>Julien - abrégé</entry> </row> <row> <entry>3</entry> <entry>Julien</entry> </row> <row> <entry>4</entry> <entry>Juif</entry> </row> <row> <entry>5</entry> <entry>Républicain français</entry> </row> </tbody> </tgroup> </table> </para> </refsect1> </refentry> <refentry id="function.jddayofweek"> <refnamediv> <refname>JDDayOfWeek</refname> <refpurpose> Retourne le numéro du jour de la semaine. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>jddayofweek</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jddayofweek</function> retourne le numéro du jour de la semaine. Peut retourner une chaîne ou un entier, en fonction du mode. <table> <title>Modes</title> <tgroup cols="2"> <thead> <row> <entry>Mode</entry> <entry>Signification</entry> </row> </thead> <tbody> <row> <entry>0</entry> <entry>Retourne le numéro du jour comme un entier (0=dimanche, 1=lundi, etc.) </entry> </row> <row> <entry>1</entry> <entry>Retourne une chaîne contenant le nom du jour (anglais grégorien) </entry> </row> <row> <entry>2</entry> <entry>Retourne une chaîne contenant le nom abrégé du jour de la semaine (anglais grégorien). </entry> </row> </tbody> </tgroup> </table> </para> </refsect1> </refentry> <refentry id="function.easter-date"> <refnamediv> <refname>easter_date</refname> <refpurpose> Retourne un timestamp UNIX pour Pâques, à minuit </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>easter_date</function></funcdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>easter_date</function> retourne un timestamp UNIX pour Pâques, à minuit, pour une année donnée. Si l'année n'est pas précisée, c'est l'année en cours qui est utilisée. </para> <para> <emphasis>ATTENTION:</emphasis> <function>easter_date</function> génère une alerte (Warning) si la date tombe hors de la zone de validité des timestamp UNIX (i.e. avant 1970 ou après 2037). <example> <title>Exemples avec <function>easter_date</function></title> <programlisting role="php">echo date( "M-d-Y", easter_date(1999) ); /* "04 avril 1999" */echo date( "M-d-Y", easter_date(2000) ); /* "23 avril 2000" */echo date( "M-d-Y", easter_date(2001) ); /* "15 avril 2001" */ </programlisting> </example> </para> <para> La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les date des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis. </para> <para> (Ce code est basé sur le programme en C de Simon Kershaw, <webmaster@ely.anglican.org>) </para> <para> Voir <function>easter_days</function> pour les calculs de date de Pâques avant 1970 et après 2037. </para> </refsect1> </refentry> <refentry id="function.easter-days"> <refnamediv> <refname>easter_days</refname> <refpurpose> Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>easter_days</function></funcdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>easter_days</function> retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée. Si l'année n'est pas précisée, l'année en cours est utilisée par défaut. </para> <para> <function>easter_days</function> peut être utilisée à la place de <function>easter_date</function> pour calculer la date de Pâques, pour les années qui tombent hors de l'intervalle de validité des timestamps UNIX (i.e. avant 1970 ou après 2037). <example> <title>Exemple avec <function>easter_days</function></title> <programlisting role="php"><?php echo easter_days(1999); /* 14, i.e. 4 Avril */ echo easter_days(1492); /* 32, i.e. 22 Avril */ echo easter_days(1913); /* 2, i.e. 23 Mars */?> </programlisting> </example> </para> <para> La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les date des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis. </para> <para> (Ce code est basé sur le programme en C de Simon Kershaw, <webmaster@ely.anglican.org>) </para> <para> Voir aussi <function>easter_date</function>. </para> </refsect1> </refentry> <refentry id="function.unixtojd"> <refnamediv> <refname>unixtojd</refname> <refpurpose> Convertit un timestamp UNIX en nombre de jours Julien </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>unixtojd</function></funcdef> <paramdef>int <parameter><optional>timestamp</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>unixtojd</function> retourne le nombre de jours Juliens du timestamp UNIX <parameter>timestamp</parameter> (nombre de secondes depuis le 1/1/1970), ou pour le jour courant si <parameter>timestamp</parameter> est omis. </para> <para> Voir aussi <function>jdtounix</function>. </para> <para> <function>unixtojd</function> n'est disponible qu'à partir de la version PHP 4.0RC1. </para> <para> Voir aussi <function>easter_date</function>. </para> </refsect1> </refentry> <refentry id="function.jdtounix"> <refnamediv> <refname>jdtounix</refname> <refpurpose> Convertit un nombre de jours Julien en timestamp UNIX </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>jdtounix</function></funcdef> <paramdef>int <parameter>jday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtounix</function> retourne un timestamp UNIX correspondant au nombre de jours Julien <parameter>jday</parameter> ou <literal>FALSE</literal> si <parameter>jday</parameter> n'est pas dans l'intervalle de validité de l'époque UNIX. (années grégoriennes entre 1970 et 2037 ou 2440588 <= <parameter>jday</parameter> <= 2465342 ). </para> <para> Voir aussi <function>jdtounix</function>. </para> <note> <para> <function>jdtounix</function> n'est disponible qu'à partir de la version PHP 4.0RC1. </para> </note> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/ccvs.xml diff -u phpdoc/fr/functions/ccvs.xml:1.6 phpdoc/fr/functions/ccvs.xml:1.7 --- phpdoc/fr/functions/ccvs.xml:1.6 Tue Mar 6 15:50:06 2001 +++ phpdoc/fr/functions/ccvs.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <!-- Documentation CCVS par Brendan W. McAdams <brendan@plexmedia.com> Copyright (c) 2000 par le PHP Group @@ -5,70 +7,71 @@ documentation originale pour PHP 3, qui nous a aidé à démarrer de fichier. --> - <reference id="ref.ccvs"> - <title>Paiement CCVS</title> - <titleabbrev>CCVS</titleabbrev> - <partintro> - <simpara> - Ces fonctions font l'interface avec les API CCVS, vous permettant - de travailler directement avec CCVS depuis vos scripts PHP. - CCVS est la solution apportée par <ulink url="&url.redhat;">RedHat</ulink> - au problème de l'intermediaire, lors du traitement de transactions - de cartes de crédit. Il vous permet travailler directment avec - les maisons de crédits, via votre boîte *nix et un modem. En utilisant - le module CCVS pour PHP, vous pouvez effectuer des transactions - avec les cartes de crédits, directement depuis vos scripts PHP via - CCVS. La suite vous montrera comment procéder. - </simpara> - <simpara> - Pour activer le support CCVS de PHP, commencez par vérifier votre - installation CCVS. Vous devez configurer PHP avec l'option <option - role="configure">--with-ccvs</option>. Si vous utilisez cette - option sans spécifier le chemin de votre installation, PHP essaiera - de la trouver à sa position par défaut (/usr/local/ccvs). Si CCVS est - installé dans un autre dossier, lancez la configuration avec : - <option role="configure">--with-ccvs=$ccvs_path</option>, où $ccvs_path - est le chemin de votre installation CCVS. Notez bien que CCVS requiert - que $ccvs_path/lib et $ccvs_path/include existent, et qu'ils contiennent - respectivement cv_api.h et libccvs.a sous include et lib. - </simpara> - <simpara> - De plus, un démon ccvsd doit être disponible sur votre configuration, - et qu'il soit accessible à vos scripts PHP. Assurez vous aussi que - l'utilisateur qui exécute les scripts PHP est le même que celui qui - a installé CCVS (i.e. si vous avez installé CCVS avec l'utilisateur 'ccvs', - vos scripts PHP doivent tourner aussi en 'ccvs'). - </simpara> - <simpara> - Plus de détails sur CCVS sont disponibles à <ulink - url="&url.redhat.ccvs;">&url.redhat.ccvs;</ulink>. - </simpara> - <simpara> - Cette documentation est en chantier. Jusqu'à sa finalisation, RedHat - entretient une version légèrement démodée - mais bien pratique à - <ulink url="&url.redhat.support;">&url.redhat.support;</ulink>. - </simpara> - </partintro> - - <refentry> - <refnamediv> - <refname></refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title></title> - <funcsynopsis> - <funcprototype> - <funcdef> <function></function></funcdef> - <paramdef> <parameter></parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsect1> - </refentry> - - </reference> - +<reference id="ref.ccvs"> + <title>Paiement CCVS</title> + <titleabbrev>CCVS</titleabbrev> + <partintro> + <simpara> + Ces fonctions font l'interface avec les API CCVS, vous permettant + de travailler directement avec CCVS depuis vos scripts PHP. + CCVS est la solution apportée par <ulink url="&url.redhat;">RedHat</ulink> + au problème de l'intermédiaire, lors du traitement de transactions + de cartes de crédit. Il vous permet travailler directement avec + les maisons de crédits, via votre boîte *nix et un modem. En utilisant + le module CCVS pour PHP, vous pouvez effectuer des transactions + avec les cartes de crédits, directement depuis vos scripts PHP via + CCVS. La suite vous montrera comment procéder. + </simpara> + <simpara> + Pour activer le support CCVS de PHP, commencez par vérifier votre + installation CCVS. Vous devez configurer PHP avec l'option + <link linkend="install.configure.with-ccvs"><option role="configure">--with-ccvs</option></link>. + Si vous utilisez cette + option sans spécifier le chemin de votre installation, PHP essaiera + de la trouver à sa position par défaut (/usr/local/ccvs). Si CCVS est + installé dans un autre dossier, lancez la configuration avec : + <link linkend="install.configure.with-ccvs"><option role="configure">--with-ccvs=$ccvs_path</option></link>, + où $ccvs_path est le chemin de votre installation CCVS. + Notez bien que CCVS requiert + que <filename>$ccvs_path/lib</filename> et <filename>$ccvs_path/include</filename> + existent, et qu'ils contiennent respectivement + <filename>cv_api.h</filename> et <filename>libccvs.a</filename> sous + <filename>include</filename> et <filename>lib</filename>. + </simpara> + <simpara> + De plus, un démon ccvsd doit être disponible sur votre configuration, + et qu'il soit accessible à vos scripts PHP. Assurez-vous aussi que + l'utilisateur qui exécute les scripts PHP est le même que celui qui + a installé CCVS (i.e. si vous avez installé CCVS avec l'utilisateur 'ccvs', + vos scripts PHP doivent tourner aussi en 'ccvs'). + </simpara> + <simpara> + Plus de détails sur CCVS sont disponibles à <ulink + url="&url.redhat.ccvs;">&url.redhat.ccvs;</ulink>. + </simpara> + <simpara> + Cette documentation est en chantier. Jusqu'à sa finalisation, RedHat + entretient une version légèrement démodée + mais bien pratique à + <ulink url="&url.redhat.support;">&url.redhat.support;</ulink>. + </simpara> + </partintro> + <refentry> + <refnamediv> + <refname></refname> + <refpurpose></refpurpose> + </refnamediv> + <refsect1> + <title></title> + <funcsynopsis> + <funcprototype> + <funcdef> <function></function></funcdef> + <paramdef> <parameter></parameter></paramdef> + </funcprototype> + </funcsynopsis> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml Index: phpdoc/fr/functions/classobj.xml diff -u phpdoc/fr/functions/classobj.xml:1.11 phpdoc/fr/functions/classobj.xml:1.12 --- phpdoc/fr/functions/classobj.xml:1.11 Wed Jul 25 15:38:55 2001 +++ phpdoc/fr/functions/classobj.xml Mon Nov 12 00:10:20 2001 @@ -1,616 +1 @@ -<reference id="ref.classobj"> - <title>Objets</title> - <titleabbrev>Classes et Objets</titleabbrev> - <partintro> - <sect1 id="classobj.partintro"> - <title>Introduction</title> - <sect2 id="classobj.intro"> - <title>About</title> - <para> - Ces fonctions permettent de gérer les classes et les objets. - Vous pouvez notamment connaître le nom de la classe d'un - objet, ses membres et ses méthodes, et tous les objets - parents (les classes qui sont étendues par la classe d'un objet). - </para> - </sect2> - <sect2 id="classobj.example"> - <title>Exemple d'utilisation</title> - <para> - Dans cet exemple, on définit une classe de base, et une - extension. La classe de base définit un légume, s'il est - mangeable ou pas, et sa couleur. La sous-classe - <varname>epinard</varname> ajoute une méthode pour le cuisiner, - et une autre pour savoir s'il est cuisiné. - </para> - <para> - <example> - <title>classes.inc</title> - <programlisting role="php"> -<?php -// classe de base, avec ses membres et ses méthodes -class Legume { - var $mangeable; - var $couleur; - function legume( $mangeable, $couleur="green" ) { - $this->mangeable = $mangeable; - $this->couleur = $couleur; - } - function est_mangeable() { - return $this->mangeable; - } - function quelle_couleur() { - return $this->couleur; - } -} // fin de la classe Legume -// extend la classe de base -class Epinard extends Legume { - var $cuit = <literal>FALSE</literal>; - function Epinard() { - $this->Legume( <literal>TRUE</literal>, "green" ); - } - function cuisine() { - $this->cuit = <literal>TRUE</literal>; - } - function est_cuit() { - return $this->cuit; - } -} // fin de la classe Epinard -?> - </programlisting> - </example> - </para> - <para> - Lorsqu'on instantie deux objets de ces classes, et qu'on affiche - leurs informations, on affiche aussi leur héritage. On définit ici - des utilitaires qui servent essentiellement à afficher ces - informations proprement. - </para> - <para> - <example> - <title>test_script.php</title> - <programlisting role="php"> -<pre> -<?php - include "classes.inc"; -// utilitaires - function print_vars($obj) { - $arr = get_object_vars($obj); - while (list($prop, $val) = each($arr)) - echo "\t$prop = $val\n"; - } - function print_methods($obj) { - $arr = get_class_methods(get_class($obj)); - foreach ($arr as $method) - echo "\tfunction $method()\n"; - } - function class_parentage($obj, $class) { - global $$obj; - if (is_subclass_of($$obj, $class)) { - echo "L'objet $obj belongs to class ".get_class($$obj); - echo " est une sous-classe de $class\n"; - } else { - echo "L'objet $obj n'est pas une sous classe $class\n"; - } - } -// instantie 2 objets - $legume = new Legume(TRUE,"blue"); - $feuilles = new Epinard(); -// affiche les informations sur ces objets - echo "legume: CLASS ".get_class($legume)."\n"; - echo "feuilles: CLASS ".get_class($feuilles); - echo ", PARENT ".get_parent_class($feuilles)."\n"; -// affiche les propriétés du légume - echo "\nlégume: Propriétés \n"; - print_vars($legume); -// et les méthodes de "feuilles" - echo "\nfeuilles: Methods\n"; - print_methods($feuilles); - echo "\nParentée:\n"; - class_parentage("feuilles", "Epinard"); - class_parentage("feuilles", "Legume"); -?> -</pre> - </programlisting> - </example> - </para> - <para> - Il est important de noter que dans les exemples ci-dessus, les objets - <varname>$feuilles</varname> sont une instance de - <classname>Epinard</classname> qui est une sous-classe de - <classname>Legume</classname>, donc la dernière partie du script - va afficher : - </para> - <para> - <informalexample> - <screen> - [...] - Parentée: - L'objet feuilles n'est pas une sous classe Spinach - L'objet feuilles est une sous-classe de Legume - </screen> - </informalexample> - </para> - </sect2> - </sect1> - </partintro> - <refentry id="function.call-user-method"> - <refnamediv> - <refname>call_user_method</refname> - <refpurpose> - Appelle une méthode utilisateur d'un objet - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed - <function>call_user_method</function> - </funcdef> - <paramdef>string - <parameter>method_name</parameter> - </paramdef> - <paramdef>object - <parameter>obj</parameter> - </paramdef> - <paramdef>mixed - <parameter><optional>parameter</optional></parameter> - </paramdef> - <paramdef>mixed - <parameter><optional>...</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Appelle la méthode <parameter>method_name</parameter> depuis l'objet - <parameter>obj</parameter>. Un exemple d'utilisation de cet objet - est présenté ci-dessous, où une classe est définie, puis instantiée. - On utilise alors <function>call_user_method</function> pour appeler - indirectement les méthodes <varname>print_info</varname>. - <informalexample> - <programlisting role="php"> -<?php -class Pays { - var $NOM; - var $TLD; - function Pays($nom, $tld) { - $this->NOM = $nom; - $this->TLD = $tld; - } - function print_info($prestr="") { - echo $prestr."Pays: ".$this->NOM."\n"; - echo $prestr."Nom de domaine: ".$this->TLD."\n"; - } -} -$unPays = new Pays("Pérou","pe"); -echo "* Appel de la méthode directement\n"; -$unPays->print_info(); -echo "\n* Appel de la méthode indirectement\n"; -call_user_method ("print_info", $unPays, "\t"); -?> - </programlisting> - </informalexample> - </para> - <simpara> - Voir aussi - <function>call_user_func_array</function>. - <function>call_user_func</function> et - <function>call_user_method_array</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.call-user-method-array"> - <refnamediv> - <refname>call_user_method_array</refname> - <refpurpose> - Appelle une méthode utilisateur avec un tableau de paramètres - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed - <function>call_user_method_array</function> - </funcdef> - <paramdef>string - <parameter>method_name</parameter> - </paramdef> - <paramdef>object - <parameter>obj</parameter> - </paramdef> - <paramdef>array - <parameter><optional>paramarr</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>call_user_method_array</function> appelle la méthode - <parameter>method_name</parameter> de l'object <parameter>obj</parameter>, - en utilisant les paramètres <parameter>paramarr</parameter>, rassemblés - sous forme de tableau. - </para> - <para> - Voir aussi - <function>call_user_func_array</function>, - <function>call_user_func</function> et - <function>call_user_method</function>. - </para> - <note> - <para> - <function>call_user_method_array</function> a été ajoutée en version - PHP 4.05. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.class-exists"> - <refnamediv> - <refname>class_exists</refname> - <refpurpose>Vérifie qu'une classe a été définie</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>class_exists</function></funcdef> - <paramdef>string <parameter>class_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>class_exists</function> retourne <literal>TRUE</literal> si la classe - <parameter>class_name</parameter> a été définie, et <literal>FALSE</literal> sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.get-class"> - <refnamediv> - <refname>get_class</refname> - <refpurpose>Retourne la classe d'un objet</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>get_class</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_class</function> retourne la classe de l'objet - <parameter>obj</parameter>. - </para> - <simpara> - Voir aussi - <function>get_parent_class</function> et - <function>is_subclass_of</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.get-class-methods"> - <refnamediv> - <refname>get_class_methods</refname> - <refpurpose>Retourne les noms des méthodes d'une classe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_class_methods</function></funcdef> - <paramdef>string <parameter>class_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_class_methods</function> retourne un tableau contenant les - noms des méthodes de la classe <parameter>class_name</parameter>. - </para> - <note> - <para> - A partir de PHP 4.0.6, vous pouvez spécifier l'objet lui-même, au lieu - de sa classe <parameter>class_name</parameter>. Par exemple : - <informalexample> - <programlisting role="php"> -<?php - $class_methods = get_class_methods($my_class); -?> - </programlisting> - </informalexample> - </para> - </note> - <para> - <example> - <title>Exemple avec <function>get_class_methods</function></title> - <programlisting role="php"> -<?php -class myclass { - // constructeur - function maclasse() { - return(TRUE); - } - // méthode 1 - function myfunc1() { - return(TRUE); - } - // méthode 2 - function mafunc2() { - return(TRUE); - } -} -$ma_classe = new maclasse(); -$class_methods = get_class_methods(get_class($ma_class)); -foreach ($class_methods as $method_name) { - echo "$method_name\n"; -} -?> - </programlisting> - </example> - </para> - <para> - Va afficher : - <informalexample> - <programlisting> -maclass -mafunc1 -mafunc2 - </programlisting> - </informalexample> - </para> - <simpara> - Voir aussi - <function>get_class_vars</function> et - <function>get_object_vars</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.get-class-vars"> - <refnamediv> - <refname>get_class_vars</refname> - <refpurpose> - Retourne les valeurs par défaut des attributs d'une classe. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_class_vars</function></funcdef> - <paramdef>string <parameter>class_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_class_vars</function> retourne un tableau contenant les - valeurs par défaut des attributs de la classe - <parameter>class_name</parameter>. - </para> - <note> - <para> - Les variables de classe qui ne sont pas encore initialisées ne seront pas - retournées par <function>get_class_vars</function>. - </para> - </note> - <para> - <example> - <title>Exemple <function>get_class_vars</function></title> - <programlisting role="php"> -<?php -class maclasse { - var $var1; // Pas de valeur par défaut - var $var2 = "xyz"; - var $var3 = 100; - // constructeur - function maclasse() { - return(TRUE); - } -} -$ma_classe = new maclasse(); -$class_vars = get_class_vars(get_class($ma_classe)); -foreach ($class_vars as $name => $value) { - echo "$name : $value\n"; -} -?> - </programlisting> - </example> - </para> - <para> - va afficher : - <informalexample> - <programlisting> -var2 : xyz -var3 : 100 - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.get-declared-classes"> - <refnamediv> - <refname>get_declared_classes</refname> - <refpurpose>Liste toutes les classes définies</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_declared_classes</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_declared_classes</function> retourne un tableau contenant - la liste des fonctions déclarées dans le script courant. - </para> - <note> - <para> - En PHP 4.0.1pl2, trois classes supplémentaires sont retournées, au - début de ce tableau : <classname>stdClass</classname> (définie dans - <filename>Zend/zend.c</filename>), - <classname>OverloadedTestClass</classname> (définie dans - <filename>ext/standard/basic_functions.c</filename>) - et <classname>Directory</classname> - (définie dans <filename>ext/standard/dir.c</filename>). - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.get-object-vars"> - <refnamediv> - <refname>get_object_vars</refname> - <refpurpose> - Retourne un tableau associatif des propriétés d'un objet - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_object_vars</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_object_vars</function> retourne un tableau associatif - contenant les propriétés de l'objet <parameter>obj</parameter>. - Les clés du tableau sont les noms des propriétés - de l'objet.Si des variables déclarées dans la classe de - l'objet <parameter>obj</parameter>, n'ont pas été - assignées, elles ne seront pas retournées dans le tableau. - <example> - <title>Exemple avec <function>get_object_vars</function></title> - <programlisting role="php"> -<?php -class Point2D { - var $x, $y; - var $nom; - function Point2D($x, $y) { - $this->x = $x; - $this->y = $y; - } - function donne_nom($nom) { - $this->nom = $nom; - } - function LitPoint() { - return array("x" -> $this->x, - "y" -> $this->y, - "nom" -> $this->nom); - } -} -$p1 = new Point2D(1.233, 3.445); -print_r(get_object_vars($p1)); -// "$nom" est déclaré, mais non défini -// Array -// ( -// [x] -> 1.233 -// [y] -> 3.445 -// ) -$p1->setnom("point #1"); -print_r(get_object_vars($p1)); -// Array -// ( -// [x] -> 1.233 -// [y] -> 3.445 -// [nom] -> point #1 -// ) -?> - </programlisting> - </example> - </para> - <simpara> - Voir aussi - <function>get_class_methods</function> et - <function>get_class_vars</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.get-parent-class"> - <refnamediv> - <refname>get_parent_class</refname> - <refpurpose>Retourne le nom de la classe d'un objet</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>get_parent_class</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_parent_class</function> retourne le nom de la classe - de l'objet <parameter>obj</parameter>. - </para> - <simpara> - Voir aussi - <function>get_class</function> et - <function>is_subclass_of</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.is-subclass-of"> - <refnamediv> - <refname>is_subclass_of</refname> - <refpurpose> - Détermine si un objet est une sous-classe - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_subclass_of</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - <paramdef>string <parameter>superclass</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_subclass_of</function> retourne <literal>TRUE</literal> si l'objet - <parameter>obj</parameter> est une sous-classe de - <parameter>superclass</parameter>, <literal>FALSE</literal> sinon. - </para> - <simpara> - Voir aussi - <function>get_class</function> et - <function>get_parent_class</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.method-exists"> - <refnamediv> - <refname>method_exists</refname> - <refpurpose> - Vérifie que la méthode existe pour une classe. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>method_exists</function></funcdef> - <paramdef>object <parameter>object</parameter></paramdef> - <paramdef>string <parameter>method_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>method_exists</function> retourne <literal>TRUE</literal> - si la méthode <parameter>method_name</parameter> a - été définie pour la classe - <parameter>object</parameter>, et sinon, retourne <literal>FALSE</literal>. - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.12 $ --><reference id="ref.classobj"> <title>Objets</title> <titleabbrev>Classes et Objets</titleabbrev> <partintro> <sect1 id="classobj.partintro"> <title>Introduction</title> <sect2 id="classobj.intro"> <title>About</title> <para> Ces fonctions permettent de gérer les classes et les objets. Vous pouvez notamment connaître le nom de la classe d'un objet, ses membres et ses méthodes, et tous les objets parents (les classes qui sont étendues par la classe d'un objet). </para> </sect2> <sect2 id="classobj.example"> <title>Exemple d'utilisation</title> <para> Dans cet exemple, on définit une classe de base, et une extension. La classe de base définit un légume, s'il est mangeable ou pas, et sa couleur. La sous-classe <varname>epinard</varname> ajoute une méthode pour le cuisiner, et une autre pour savoir s'il est cuisiné. </para> <para> <example> <title>classes.inc</title> <programlisting role="php"><?php// classe de base, avec ses membres et ses méthodesclass Legume { var $mangeable; var $couleur; function legume( $mangeable, $couleur="green" ) { $this->mangeable = $mangeable; $this->couleur = $couleur; } function est_mangeable() { return $this->mangeable; } function quelle_couleur() { return $this->couleur; }} // fin de la classe Legume// extend la classe de baseclass Epinard extends Legume { var $cuit = <literal>FALSE</literal>; function Epinard() { $this->Legume( <literal>TRUE</literal>, "green" ); } function cuisine() { $this->cuit = <literal>TRUE</literal>; } function est_cuit() { return $this->cuit; }} // fin de la classe Epinard?> </programlisting> </example> </para> <para> Lorsqu'on instantie deux objets de ces classes, et qu'on affiche leurs informations, on affiche aussi leur héritage. On définit ici des utilitaires qui servent essentiellement à afficher ces informations proprement. </para> <para> <example> <title>test_script.php</title> <programlisting role="php"><pre><?php include "classes.inc";// utilitaires function print_vars($obj) { $arr = get_object_vars($obj); while (list($prop, $val) = each($arr)) echo "\t$prop = $val\n"; } function print_methods($obj) { $arr = get_class_methods(get_class($obj)); foreach ($arr as $method) echo "\tfunction $method()\n"; } function class_parentage($obj, $class) { global $$obj; if (is_subclass_of($$obj, $class)) { echo "L'objet $obj belongs to class ".get_class($$obj); echo " est une sous-classe de $class\n"; } else { echo "L'objet $obj n'est pas une sous classe $class\n"; } }// instantie 2 objets $legume = new Legume(TRUE,"blue"); $feuilles = new Epinard();// affiche les informations sur ces objets echo "legume: CLASS ".get_class($legume)."\n"; echo "feuilles: CLASS ".get_class($feuilles); echo ", PARENT ".get_parent_class($feuilles)."\n";// affiche les propriétés du légume echo "\nlégume: Propriétés \n"; print_vars($legume);// et les méthodes de "feuilles" echo "\nfeuilles: Methods\n"; print_methods($feuilles); echo "\nParentée:\n"; class_parentage("feuilles", "Epinard"); class_parentage("feuilles", "Legume");?></pre> </programlisting> </example> </para> <para> Il est important de noter que dans les exemples ci-dessus, les objets <varname>$feuilles</varname> sont une instance de <classname>Epinard</classname> qui est une sous-classe de <classname>Legume</classname>, donc la dernière partie du script va afficher : </para> <para> <informalexample> <screen> [...] Parentée: L'objet feuilles n'est pas une sous classe Spinach L'objet feuilles est une sous-classe de Legume </screen> </informalexample> </para> </sect2> </sect1> </partintro> <refentry id="function.call-user-method"> <refnamediv> <refname>call_user_method</refname> <refpurpose> Appelle une méthode utilisateur d'un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>call_user_method</function> </funcdef> <paramdef>string <parameter>method_name</parameter> </paramdef> <paramdef>object <parameter>obj</parameter> </paramdef> <paramdef>mixed <parameter><optional>parameter</optional></parameter> </paramdef> <paramdef>mixed <parameter><optional>...</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Appelle la méthode <parameter>method_name</parameter> depuis l'objet <parameter>obj</parameter>. Un exemple d'utilisation de cet objet est présenté ci-dessous, où une classe est définie, puis instantiée. On utilise alors <function>call_user_method</function> pour appeler indirectement les méthodes <varname>print_info</varname>. <informalexample> <programlisting role="php"><?phpclass Pays { var $NOM; var $TLD; function Pays($nom, $tld) { $this->NOM = $nom; $this->TLD = $tld; } function print_info($prestr="") { echo $prestr."Pays: ".$this->NOM."\n"; echo $prestr."Nom de domaine: ".$this->TLD."\n"; }}$unPays = new Pays("Pérou","pe");echo "* Appel de la méthode directement\n";$unPays->print_info();echo "\n* Appel de la méthode indirectement\n";call_user_method ("print_info", $unPays, "\t");?> </programlisting> </informalexample> </para> <simpara> Voir aussi <function>call_user_func_array</function>. <function>call_user_func</function> et <function>call_user_method_array</function>. </simpara> </refsect1> </refentry> <refentry id="function.call-user-method-array"> <refnamediv> <refname>call_user_method_array</refname> <refpurpose> Appelle une méthode utilisateur avec un tableau de paramètres </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>call_user_method_array</function> </funcdef> <paramdef>string <parameter>method_name</parameter> </paramdef> <paramdef>object <parameter>obj</parameter> </paramdef> <paramdef>array <parameter><optional>paramarr</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>call_user_method_array</function> appelle la méthode <parameter>method_name</parameter> de l'object <parameter>obj</parameter>, en utilisant les paramètres <parameter>paramarr</parameter>, rassemblés sous forme de tableau. </para> <para> Voir aussi <function>call_user_func_array</function>, <function>call_user_func</function> et <function>call_user_method</function>. </para> <note> <para> <function>call_user_method_array</function> a été ajoutée en version PHP 4.05. </para> </note> </refsect1> </refentry> <refentry id="function.class-exists"> <refnamediv> <refname>class_exists</refname> <refpurpose>Vérifie qu'une classe a été définie</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>class_exists</function></funcdef> <paramdef>string <parameter>class_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>class_exists</function> retourne <literal>TRUE</literal> si la classe <parameter>class_name</parameter> a été définie, et <literal>FALSE</literal> sinon. </para> </refsect1> </refentry> <refentry id="function.get-class"> <refnamediv> <refname>get_class</refname> <refpurpose>Retourne la classe d'un objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>get_class</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_class</function> retourne la classe de l'objet <parameter>obj</parameter>. </para> <simpara> Voir aussi <function>get_parent_class</function> et <function>is_subclass_of</function> </simpara> </refsect1> </refentry> <refentry id="function.get-class-methods"> <refnamediv> <refname>get_class_methods</refname> <refpurpose>Retourne les noms des méthodes d'une classe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_class_methods</function></funcdef> <paramdef>string <parameter>class_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_class_methods</function> retourne un tableau contenant les noms des méthodes de la classe <parameter>class_name</parameter>. </para> <note> <para> A partir de PHP 4.0.6, vous pouvez spécifier l'objet lui-même, au lieu de sa classe <parameter>class_name</parameter>. Par exemple : <informalexample> <programlisting role="php"><?php $class_methods = get_class_methods($my_class);?> </programlisting> </informalexample> </para> </note> <para> <example> <title>Exemple avec <function>get_class_methods</function></title> <programlisting role="php"><?phpclass myclass { // constructeur function maclasse() { return(TRUE); } // méthode 1 function myfunc1() { return(TRUE); } // méthode 2 function mafunc2() { return(TRUE); }}$ma_classe = new maclasse();$class_methods = get_class_methods(get_class($ma_class));foreach ($class_methods as $method_name) { echo "$method_name\n";}?> </programlisting> </example> </para> <para> Va afficher : <informalexample> <programlisting>maclassmafunc1mafunc2 </programlisting> </informalexample> </para> <simpara> Voir aussi <function>get_class_vars</function> et <function>get_object_vars</function> </simpara> </refsect1> </refentry> <refentry id="function.get-class-vars"> <refnamediv> <refname>get_class_vars</refname> <refpurpose> Retourne les valeurs par défaut des attributs d'une classe. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_class_vars</function></funcdef> <paramdef>string <parameter>class_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_class_vars</function> retourne un tableau contenant les valeurs par défaut des attributs de la classe <parameter>class_name</parameter>. </para> <note> <para> Les variables de classe qui ne sont pas encore initialisées ne seront pas retournées par <function>get_class_vars</function>. </para> </note> <para> <example> <title>Exemple <function>get_class_vars</function></title> <programlisting role="php"><?phpclass maclasse { var $var1; // Pas de valeur par défaut var $var2 = "xyz"; var $var3 = 100; // constructeur function maclasse() { return(TRUE); }}$ma_classe = new maclasse();$class_vars = get_class_vars(get_class($ma_classe));foreach ($class_vars as $name => $value) { echo "$name : $value\n";}?> </programlisting> </example> </para> <para> va afficher : <informalexample> <programlisting>var2 : xyzvar3 : 100 </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.get-declared-classes"> <refnamediv> <refname>get_declared_classes</refname> <refpurpose>Liste toutes les classes définies</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_declared_classes</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>get_declared_classes</function> retourne un tableau contenant la liste des fonctions déclarées dans le script courant. </para> <note> <para> En PHP 4.0.1pl2, trois classes supplémentaires sont retournées, au début de ce tableau : <classname>stdClass</classname> (définie dans <filename>Zend/zend.c</filename>), <classname>OverloadedTestClass</classname> (définie dans <filename>ext/standard/basic_functions.c</filename>) et <classname>Directory</classname> (définie dans <filename>ext/standard/dir.c</filename>). </para> </note> </refsect1> </refentry> <refentry id="function.get-object-vars"> <refnamediv> <refname>get_object_vars</refname> <refpurpose> Retourne un tableau associatif des propriétés d'un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_object_vars</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_object_vars</function> retourne un tableau associatif contenant les propriétés de l'objet <parameter>obj</parameter>. Les clés du tableau sont les noms des propriétés de l'objet.Si des variables déclarées dans la classe de l'objet <parameter>obj</parameter>, n'ont pas été assignées, elles ne seront pas retournées dans le tableau. <example> <title>Exemple avec <function>get_object_vars</function></title> <programlisting role="php"><?phpclass Point2D { var $x, $y; var $nom; function Point2D($x, $y) { $this->x = $x; $this->y = $y; } function donne_nom($nom) { $this->nom = $nom; } function LitPoint() { return array("x" -> $this->x, "y" -> $this->y, "nom" -> $this->nom); }}$p1 = new Point2D(1.233, 3.445);print_r(get_object_vars($p1));// "$nom" est déclaré, mais non défini// Array// (// [x] -> 1.233// [y] -> 3.445// )$p1->setnom("point #1");print_r(get_object_vars($p1));// Array// (// [x] -> 1.233// [y] -> 3.445// [nom] -> point #1// )?> </programlisting> </example> </para> <simpara> Voir aussi <function>get_class_methods</function> et <function>get_class_vars</function> </simpara> </refsect1> </refentry> <refentry id="function.get-parent-class"> <refnamediv> <refname>get_parent_class</refname> <refpurpose>Retourne le nom de la classe d'un objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>get_parent_class</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_parent_class</function> retourne le nom de la classe de l'objet <parameter>obj</parameter>. </para> <simpara> Voir aussi <function>get_class</function> et <function>is_subclass_of</function> </simpara> </refsect1> </refentry> <refentry id="function.is-subclass-of"> <refnamediv> <refname>is_subclass_of</refname> <refpurpose> Détermine si un objet est une sous-classe </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_subclass_of</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> <paramdef>string <parameter>superclass</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_subclass_of</function> retourne <literal>TRUE</literal> si l'objet <parameter>obj</parameter> est une sous-classe de <parameter>superclass</parameter>, <literal>FALSE</literal> sinon. </para> <simpara> Voir aussi <function>get_class</function> et <function>get_parent_class</function> </simpara> </refsect1> </refentry> <refentry id="function.method-exists"> <refnamediv> <refname>method_exists</refname> <refpurpose> Vérifie que la méthode existe pour une classe. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>method_exists</function></funcdef> <paramdef>object <parameter>object</parameter></paramdef> <paramdef>string <parameter>method_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>method_exists</function> retourne <literal>TRUE</literal> si la méthode <parameter>method_name</parameter> a été définie pour la classe <parameter>object</parameter>, et sinon, retourne <literal>FALSE</literal>. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/com.xml diff -u phpdoc/fr/functions/com.xml:1.5 phpdoc/fr/functions/com.xml:1.6 --- phpdoc/fr/functions/com.xml:1.5 Sat Jul 7 18:22:02 2001 +++ phpdoc/fr/functions/com.xml Mon Nov 12 00:10:20 2001 @@ -1,200 +1 @@ - <reference id="ref.com"> - <title>Support COM pour Windows</title> - <titleabbrev>COM</titleabbrev> - <partintro> - <simpara> - Ces fonctions ne sont disponibles que sous les versions Windows de PHP. - Elles ont été ajoutées dans PHP 4. - </simpara> - </partintro> - <refentry id="function.com-load"> - <refnamediv> - <refname>com_load</refname> - <refpurpose> - Crée une référence sur un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>com_load</function></funcdef> - <paramdef>string <parameter>module_name</parameter></paramdef> - <paramdef>string - <parameter><optional>server_name</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_load</function> crée une nouvelle référence - au composant COM <parameter>module_name</parameter>, et - retourne une référence dessus. - <function>com_load</function> retourne - &false; en cas d'échec. - </para> - </refsect1> - </refentry> - <refentry id="function.com-invoke"> - <refnamediv> - <refname>com_invoke</refname> - <refpurpose> - Appelle une méthode d'un composant - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>com_invoke</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>function_name</parameter></paramdef> - <paramdef>mixed - <parameter> - <optional>function parameters, ...</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_invoke</function> appelle la méthode - <parameter>function_name</parameter> du composant COM - <parameter>com_object</parameter>. <function>com_invoke</function> - retourne &false; en cas d'erreur, sinon retourne - le résultat de la fonction <parameter>function_name</parameter> - en cas de succès. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propget"> - <refnamediv> - <refname>com_propget</refname> - <refpurpose> - Lit la valeur d'un propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>com_propget</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_propget</function> est un alias de <function>com_get</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.com-get"> - <refnamediv> - <refname>com_get</refname> - <refpurpose> - Lit la valeur d'un propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>com_get</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_get</function> retourne la valeur de la propriété - <parameter>property</parameter> du composant COM - <parameter>com_object</parameter>. - <function>com_get</function> retourne &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propput"> - <refnamediv> - <refname>com_propput</refname> - <refpurpose> - Modifie une propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>com_propput</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - <paramdef>mixed <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_propput</function> est un alias de <function>com_set</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propset"> - <refnamediv> - <refname>com_propset</refname> - <refpurpose> - Modifie une propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>com_propset</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - <paramdef>mixed <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Cette fonction est un alias de <function>com_propput</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.com-set"> - <refnamediv> - <refname>com_set</refname> - <refpurpose> - Modifie une propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>com_set</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - <paramdef>mixed <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_set</function> remplace la valeur de la - propriété <parameter>property</parameter> du - composante COM <parameter>com_object</parameter> par - <parameter>value</parameter>. <function>com_set</function> retourne - &true; en cas de succès, et - &false; sinon. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --><reference id="ref.com"> <title>Support COM pour Windows</title> <titleabbrev>COM</titleabbrev> <partintro> <simpara> Les fonctions COM sont uniquement disponibles sur les versions Windows de PHP. Elles ont été ajoutées à partir de PHP 4.0. </simpara> </partintro> <refentry id="class.com"> <refnamediv> <refname>COM</refname> <refpurpose>Classe COM</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis>$obj = new <classname>COM</classname>("server.object")</synopsis> </refsynopsisdiv> <refsect1 id="class.com.class"> <title>Description</title> <simpara> La classe COM fournit un environnement d'intégration des composants (D)COM dans vos scripts PHP. </simpara> </refsect1> <refsect1 id="class.com.constructor"> <title>Methods</title> <funcsynopsis> <funcprototype> <funcdef>string <function>com::com</function></funcdef> <paramdef>string <parameter>module_name</parameter></paramdef> <paramdef>string <parameter><optional>server_name</optional></parameter></paramdef> <paramdef>int <parameter><optional>codepage</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> Constructeur de la classe COM. Paramètres : <variablelist> <varlistentry><term>module_name</term> <listitem> <simpara> nom ou class-id du composant deamndé. </simpara> </listitem> </varlistentry> <varlistentry><term>server_name</term> <listitem> <simpara> nom du serveur DCOM, auprès duquel le composant doit être sollicité. Si ce paramètre est &null;, <literal>localhost</literal> sera utilisé. Pour que les objets DCOM soient accessibles; il faut que <constant>com.allow_dcom</constant> ait la valeur &true; dans le fichier <filename>php.ini</filename>. </simpara> </listitem> </varlistentry> <varlistentry><term>codepage</term> <listitem> <simpara> spécifie le code qui est utilisé pour transformer les chaînes de caractères PHP en chaînes unicode, et vice-versa. Les valeurs possibles sont <constant>CP_ACP</constant>, <constant>CP_MACCP</constant>, <constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>, <constant>CP_THREAD_ACP</constant>, <constant>CP_UTF7</constant> et <constant>CP_UTF8</constant>. </simpara> </listitem> </varlistentry> </variablelist> </para> <para> <example id="example.com1"> <title>Exemple COM (1)</title> <programlisting role="php"><?php// démarrage de Word$word = new COM("word.application") or die("Unable to instanciate Word");print "Word lancé, version {$word->Version}\n";//amener Word devant$word->Visible = 1;//cree un document vide$word->Documents->Add();//Quelques commandes$word->Selection->TypeText("Ceci est un test...");$word->Documents[1]->SaveAs("test.doc");//Fermeture de word$word->Quit();//Libération des ressources$word->Release();$word = null;?> </programlisting> </example> </para> <para> <example id="example.com2"> <title>Example COM (2)</title> <programlisting role="php"><?php$conn = new COM("ADODB.Connection") or die("Cannot start ADO");$conn->Open("Provider=SQLOLEDB; Data Source=localhost;Initial Catalog=database; User ID=user; Password=password");$rs = $conn->Execute("SELECT * FROM sometable"); // Recordset$num_columns = $rs->Fields->Count();echo $num_columns . "\n";for ($i=0; $i < $num_columns; $i++){ $fld[$i] = $rs->Fields($i);}$rowcount = 0;while (!$rs->EOF){ for ($i=0; $i < $num_columns; $i++) { echo $fld[$i]->value . "\t"; } echo "\n"; $rowcount++; // incrémente le nombre de lignes $rs->MoveNext();}$rs->Close();$conn->Close();$rs->Release();$conn->Release();$rs = null;$conn = null;?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="class.variant"> <refnamediv> <refname>VARIANT</refname> <refpurpose>classe VARIANT</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis>$vVar = new <classname>VARIANT</classname>($var)</synopsis> </refsynopsisdiv> <refsect1 id="class.variant.class"> <title>Description</title> <simpara> Une classe container qui transforme les variables en structures VARIANT. </simpara> </refsect1> <refsect1 id="class.variant.constructor"> <title>Methodes</title> <funcsynopsis> <funcprototype> <funcdef>string <function>variant::variant</function></funcdef> <paramdef>mixed <parameter><optional>value</optional></parameter></paramdef> <paramdef>int <parameter><optional>type</optional></parameter></paramdef> <paramdef>int <parameter><optional>codepage</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> Constructeur VARIANT. Paramètres: <variablelist> <varlistentry><term>value</term> <listitem> <simpara> valeur initiale. Si omis, un objet VT_EMPTY. </simpara> </listitem> </varlistentry> <varlistentry><term>type</term> <listitem> <simpara> spécifie le type d'objet VARIANT contenu. Les valeurs possibles <constant>VT_UI1</constant>, <constant>VT_UI2</constant>, <constant>VT_UI4</constant>, <constant>VT_I1</constant>, <constant>VT_I2</constant>, <constant>VT_I4</constant>, <constant>VT_R4</constant>, <constant>VT_R8</constant>, <constant>VT_INT</constant>, <constant>VT_UINT</constant>, <constant>VT_BOOL</constant>, <constant>VT_ERROR</constant>, <constant>VT_CY</constant>, <constant>VT_DATE</constant>, <constant>VT_BSTR</constant>, <constant>VT_DECIMAL</constant>, <constant>VT_UNKNOWN</constant>, <constant>VT_DISPATCH</constant> et <constant>VT_VARIANT</constant>. Ces valeurs sont mutuellement exclusives, mais elles peuvent être combinées avec <constant>VT_BYREF</constant> pour spécifier que c'est une valeur. Si omis le type de <parameter>value</parameter> est utilisé. Consultez la librairy MSDN pour plus de détails. </simpara> </listitem> </varlistentry> <varlistentry><term>codepage</term> <listitem> <simpara> spécifie le code qui est utilisé pour transformer les chaînes de caractères PHP en chaînes unicode, et vice-versa. Les valeurs possibles sont <constant>CP_ACP</constant>, <constant>CP_MACCP</constant>, <constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>, <constant>CP_THREAD_ACP</constant>, <constant>CP_UTF7</constant> et <constant>CP_UTF8</constant>. </simpara> </listitem> </varlistentry> </variablelist> </para> </refsect1> </refentry> <refentry id="function.com-load"> <refnamediv> <refname>com_load</refname> <refpurpose> Crée une référence sur un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>com_load</function></funcdef> <paramdef>string <parameter>module_name</parameter></paramdef> <paramdef>string <parameter><optional>server_name</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>com_load</function> crée une nouvelle référence au composant COM <parameter>module_name</parameter>, et retourne une référence dessus. <function>com_load</function> retourne &false; en cas d'échec. </para> </refsect1> </refentry> <refentry id="function.com-invoke"> <refnamediv> <refname>com_invoke</refname> <refpurpose> Appelle une méthode d'un composant </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_invoke</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>function_name</parameter></paramdef> <paramdef>mixed <parameter> <optional>function parameters, ...</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>com_invoke</function> appelle la méthode <parameter>function_name</parameter> du composant COM <parameter>com_object</parameter>. <function>com_invoke</function> retourne &false; en cas d'erreur, sinon retourne le résultat de la fonction <parameter>function_name</parameter> en cas de succès. </para> </refsect1> </refentry> <refentry id="function.com-propget"> <refnamediv> <refname>com_propget</refname> <refpurpose> Lit la valeur d'un propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_propget</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_propget</function> est un alias de <function>com_get</function>. </para> </refsect1> </refentry> <refentry id="function.com-get"> <refnamediv> <refname>com_get</refname> <refpurpose> Lit la valeur d'un propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_get</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_get</function> retourne la valeur de la propriété <parameter>property</parameter> du composant COM <parameter>com_object</parameter>. <function>com_get</function> retourne &false; en cas d'erreur. </para> </refsect1> </refentry> <refentry id="function.com-propput"> <refnamediv> <refname>com_propput</refname> <refpurpose> Modifie une propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_propput</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_propput</function> est un alias de <function>com_set</function>. </para> </refsect1> </refentry> <refentry id="function.com-propset"> <refnamediv> <refname>com_propset</refname> <refpurpose> Modifie une propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_propset</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_propset</function> est un alias de <function>com_propput</function>. </para> </refsect1> </refentry> <refentry id="function.com-set"> <refnamediv> <refname>com_set</refname> <refpurpose> Modifie une propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_set</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_set</function> remplace la valeur de la propriété <parameter>property</parameter> du composante COM <parameter>com_object</parameter> par <parameter>value</parameter>. <function>com_set</function> retourne &true; en cas de succès, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.com-addref"> <refnamediv> <refname>com_addref</refname> <refpurpose> Incrémente le compteur de références </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_addref</function></funcdef> <void/> </funcprototype> </funcsynopsis> <para> <function>com_addref</function> incrémente le compteur de références. </para> </refsect1> </refentry> <refentry id="function.com-release"> <refnamediv> <refname>com_release</refname> <refpurpose> Décrémente le compteur de références </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_release</function></funcdef> <void/> </funcprototype> </funcsynopsis> <para> <function>com_release</function> décrémente le compteur de références. </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/cpdf.xml diff -u phpdoc/fr/functions/cpdf.xml:1.10 phpdoc/fr/functions/cpdf.xml:1.11 --- phpdoc/fr/functions/cpdf.xml:1.10 Sat Jul 7 18:22:03 2001 +++ phpdoc/fr/functions/cpdf.xml Mon Nov 12 00:10:20 2001 @@ -1,2089 +1 @@ - <reference id="ref.cpdf"> - <title>ClibPDF</title> - <titleabbrev>ClibPDF</titleabbrev> - <partintro> - <simpara> - ClibPDF vous permet de créer des documents PDF avec PHP. Cette - librairie est disponible à <ulink url="&url.fastio;">FastIO</ulink> - mais n'est pas gratuite. Vous devez lire la licence avant de l'utiliser. - Si vous ne pouvez pas accepter la licence, essayez plutôt pdflib - de Thomas Merz, qui est aussi très puissante. - Les fonctionnalités de ClibPDF et ses API sont très - similaires à celles de Thomas Merz's pdflib mais, selon FastIO, - ClibPDF est plus rapide, et crée des documents plus compacts. - Cela peut avoir changé depuis la version 2.0 de pdflib. Un test - de vitesse (avec pdfclock.c issue des exemples de pdflib 2.0 - transformé en script PHP) ne montre aucune différence - de vitesse. La taille des fichiers est similaire si la compression - n'est pas utilisée. Il vaut mieux alors essayer les deux, et choisir - celui qui vous convient le mieux. - </simpara> - <simpara> - Cette documentation devrait être lue avec le manuel ClibPDF - sous la main, car il est beaucoup plus détaillé. - </simpara> - <simpara> - Beaucoup de fonctions sont natives de ClibPDF et se retrouvent dans - le module PHP, et tout comme pdflib, elles ont le même nom. - Toutes les fonctions, hormis <function>cpdf_open</function> utilisent - un pointeur sur un document comme premier paramètre. Actuellement, - ce pointeur n'est pas utilisé en interne, car ClibPDF ne supporte - pas la création de plusieurs documents PDF simultanément. - En fait, il ne vaut mieux pas l'envisager, car les résultats sont - aléatoires. Je ne veux même pas imaginer les problèmes - qui pourrait se poser avec les environnements multi-tâches. Selon l'auteur - de ClibPDF, cette situation va changer dans les prochaînes versions - (lorsque cette documentation a été traduite, c'était - la version 1.10). Si vous avez besoin de cette fonctionnalité, - utilisez pdflib. - </simpara> - <note> - <simpara> - La fonction <function>cpdf_set_font</function> a changé - depuis le PHP 3.0 pour supporter les polices asiatiques. Le - paramètre d'encodage n'est plus un entier, mais une chaîne. - </simpara> - </note> - <simpara> - Un des gros avantage de ClibPDF sur pdflib est la possibilité de - créer complétement un document sans passer par des fichiers - temporaires. Il est aussi possible d'utiliser des coordonnées - avec une unité de longeur prédéfinie. C'est une - fonctionnalité bien pratique mais qui peut être - simulée avec <function>pdf_translate</function>. - </simpara> - <simpara> - Un autre atout de ClibPDF est que chaque page peut être modifiée à tout moment - même si une nouvelle page a été ouverte. La fonction - <function>cpdf_set_current_page</function> vous permet de quitter - temporairement une page, et d'en modifier une autre. - </simpara> - <simpara> - La plus part des fonctions sont très simples d'emploi. - Le plus difficile est probablement de créer un document - PDF simple. L'exemple suivant devrait vous aider à - démarrer. La page contient du texte qui utilise la - police "Times-Roman" en taille 30, outlined. Le texte est souligné. - </simpara> - <example> - <title>Exemple simple ClibPDF</title> - <programlisting role="php"> -<?php -$cpdf = cpdf_open(0); -cpdf_page_init($cpdf, 1, 0, 595, 842); -cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1"); -cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding"); -cpdf_set_text_rendering($cpdf, 1); -cpdf_text($cpdf, "Times Roman outlined", 50, 750); -cpdf_moveto($cpdf, 50, 740); -cpdf_lineto($cpdf, 330, 740); -cpdf_stroke($cpdf); -cpdf_finalize($cpdf); -Header("Content-type: application/pdf"); -cpdf_output_buffer($cpdf); -cpdf_close($cpdf); -?> - </programlisting> - </example> - <simpara> - La distribution pdflib contient un exemple plus complet, qui - crée des séries de pages avec une horloge. Voici - cet exemple convertit en script PHP qui utilise l'extension ClibPDF : - </simpara> - <example> - <title>Exemple pdfclock de la distribution pdflib 2.0</title> - <programlisting role="php"> -<?php -$radius = 200; -$margin = 20; -$pagecount = 40; -$pdf = cpdf_open(0); -cpdf_set_creator($pdf, "pdf_clock.php3"); -cpdf_set_title($pdf, "Analog Clock"); -while($pagecount-- > 0) { - cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0); - cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0); /* wipe */ - cpdf_translate($pdf, $radius + $margin, $radius + $margin); - cpdf_save($pdf); - cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0); - /* indications des minutes */ - cpdf_setlinewidth($pdf, 2.0); - for ($alpha = 0; $alpha < 360; $alpha += 6) - { - cpdf_rotate($pdf, 6.0); - cpdf_moveto($pdf, $radius, 0.0); - cpdf_lineto($pdf, $radius-$margin/3, 0.0); - cpdf_stroke($pdf); - } - cpdf_restore($pdf); - cpdf_save($pdf); - /* Indications des 5 minutes */ - cpdf_setlinewidth($pdf, 3.0); - for ($alpha = 0; $alpha < 360; $alpha += 30) - { - cpdf_rotate($pdf, 30.0); - cpdf_moveto($pdf, $radius, 0.0); - cpdf_lineto($pdf, $radius-$margin, 0.0); - cpdf_stroke($pdf); - } - $ltime = getdate(); - /* aiguille des heures */ - cpdf_save($pdf); - cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0); - cpdf_moveto($pdf, -$radius/10, -$radius/20); - cpdf_lineto($pdf, $radius/2, 0.0); - cpdf_lineto($pdf, -$radius/10, $radius/20); - cpdf_closepath($pdf); - cpdf_fill($pdf); - cpdf_restore($pdf); - /* aiguille des minutes */ - cpdf_save($pdf); - cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0); - cpdf_moveto($pdf, -$radius/10, -$radius/20); - cpdf_lineto($pdf, $radius * 0.8, 0.0); - cpdf_lineto($pdf, -$radius/10, $radius/20); - cpdf_closepath($pdf); - cpdf_fill($pdf); - cpdf_restore($pdf); - /* aiguille des secondes */ - cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0); - cpdf_setlinewidth($pdf, 2); - cpdf_save($pdf); - cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0)); - cpdf_moveto($pdf, -$radius/5, 0.0); - cpdf_lineto($pdf, $radius, 0.0); - cpdf_stroke($pdf); - cpdf_restore($pdf); - /* Un petit cercle au centre */ - cpdf_circle($pdf, 0, 0, $radius/30); - cpdf_fill($pdf); - cpdf_restore($pdf); - cpdf_finalize_page($pdf, $pagecount+1); -} -cpdf_finalize($pdf); -header("Content-type: application/pdf"); -cpdf_output_buffer($pdf); -cpdf_close($pdf); -?> - </programlisting> - </example> - </partintro> - <refentry id="function.cpdf-global-set-document-limits"> - <refnamediv> - <refname>cpdf_global_set_document_limits</refname> - <refpurpose>Fixe les limites d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef> - void <function>cpdf_global_set_document_limits</function> - </funcdef> - <paramdef>int <parameter>maxpages</parameter></paramdef> - <paramdef>int <parameter>maxfonts</parameter></paramdef> - <paramdef>int <parameter>maximages</parameter></paramdef> - <paramdef>int <parameter>maxannotations</parameter></paramdef> - <paramdef>int <parameter>maxobjects</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_global_set_document_limits</function> permet de - fixer plusieurs limites au document PDF. - <function>cpdf_global_set_document_limits</function> doit - être appelé avant <function>cpdf_open</function> - pour être effective. Elle fixe les limites de tous - les documents ouverts après. - </para> - <para> - Voir aussi <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-creator"> - <refnamediv> - <refname>cpdf_set_creator</refname> - <refpurpose>Fixe le créateur d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_creator</function></funcdef> - <paramdef>string <parameter>creator</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_creator</function> fixe le créateur d'un - document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_subject</function>, - <function>cpdf_set_title</function> et - <function>cpdf_set_keywords</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-title"> - <refnamediv> - <refname>cpdf_set_title</refname> - <refpurpose>Fixe le titre d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_title</function></funcdef> - <paramdef>string <parameter>title</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_title</function> fixe le titre d'un document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_subject</function>, - <function>cpdf_set_creator</function> et - <function>cpdf_set_keywords</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-subject"> - <refnamediv> - <refname>cpdf_set_subject</refname> - <refpurpose>Fixe le sujet d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_subject</function></funcdef> - <paramdef>string <parameter>subject</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_subject</function> fixe le sujet d'un document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_title</function>, - <function>cpdf_set_creator</function> et - <function>cpdf_set_keywords</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-keywords"> - <refnamediv> - <refname>cpdf_set_keywords</refname> - <refpurpose>Fixe les mot clés d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_keywords</function></funcdef> - <paramdef>string <parameter>keywords</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_keywords</function> fixe les mots-clé - d'un document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_title</function>, - <function>cpdf_set_creator</function> et - <function>cpdf_set_subject</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-open"> - <refnamediv> - <refname>cpdf_open</refname> - <refpurpose>Ouvre un nouveau document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>cpdf_open</function></funcdef> - <paramdef>int <parameter>compression</parameter></paramdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_open</function> ouvre un nouveau document PDF. - Le premier paramètre <parameter>compression</parameter> active ou pas - la compression, suivant qu'il vaut 0 ou 1. Le deuxième paramètre, - optionnel, choisit le fichier de destination du document. Si il est omis, le - document sera écrit en mémoire, et pourra être écrit - dans un fichier avec <function>cpdf_save_to_file</function> ou envoyé - à l'affichage avec <function>cpdf_output_buffer</function>. - <note> - <simpara> - La valeur retournée sera nécessaire pour les autres - fonctions de ClibPDF comme premier paramètre. - </simpara> - <simpara> - La librairie ClibPDF prend le nom de fichier "-" comme synonyme de stdout. - Si PHP est compilé comme un module apache, cela ne fonctionnera pas, - car la méthode d'envoie des données de ClibPDF ne fonctionne - pas avec Apache. Vous pouvez résoudre ce problème en ne - fournissant pas de nom de fichier, et en utilisant la fonction - <function>cpdf_output_buffer</function> pour afficher le document PDF. - </simpara> - </note> - </para> - <para> - Voir aussi - <function>cpdf_close</function> et - <function>cpdf_output_buffer</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-close"> - <refnamediv> - <refname>cpdf_close</refname> - <refpurpose>Ferme un fichier PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_close</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_close</function> ferme un fichier PDF. Ce doit - être la dernière fonction appelée, et elle - apparaît même après <function>cpdf_finalize</function>, - <function>cpdf_output_buffer</function> et - <function>cpdf_save_to_file</function>. - </para> - <para> - Voir aussi <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-page-init"> - <refnamediv> - <refname>cpdf_page_init</refname> - <refpurpose>Commence une nouvelle page.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_page_init</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>page_number</parameter></paramdef> - <paramdef>int <parameter>orientation</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef> - double <parameter><optional>unit</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_page_init</function> commence une nouvelle page, - avec la hauteur <parameter>height</parameter> et la largeur - <parameter>width</parameter>. La page a le numéro - <parameter>page_number</parameter> et l'orientation - <parameter>orientation</parameter>. <parameter>orientation</parameter> - vaut 0 pour portrait et 1 pour paysage. Le dernier - paramètre, optionnel, <parameter>unit</parameter>, fixe - l'unité pour le système de coordonnées. - Cette valeur doit être un nombre de points postscript, - par unité. Etant donné que un pouce (inch) vaut - 72 points, une valeur de 72 vaudra un pouce (inch). Par - défaut, cette valeur vaut 72. - </para> - <para> - Voir aussi <function>cpdf_set_current_page</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-finalize-page"> - <refnamediv> - <refname>cpdf_finalize_page</refname> - <refpurpose>Termine une page.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_finalize_page</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>page_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_finalize_page</function> termine la page de - numéro <parameter>page_number</parameter>. - <function>cpdf_finalize_page</function> ne fait qu'une sauvegarde - mémoire. Les pages terminées prennent moins de - place, mais ne peuvent plus être modifiées. - </para> - <para> - Voir aussi <function>cpdf_page_init</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-finalize"> - <refnamediv> - <refname>cpdf_finalize</refname> - <refpurpose>Termine un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_finalize</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_finalize</function> termine un document. Vous devez toujours - appeler <function>cpdf_close</function> après. - </para> - <para> - Voir aussi <function>cpdf_close</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-output-buffer"> - <refnamediv> - <refname>cpdf_output_buffer</refname> - <refpurpose>Envoie le document PDF dans un buffer mémoire.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_output_buffer</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_output_buffer</function> envoie le document PDF - dans un buffer mémoire de stdout. Le document doit avoir - été créé en mémoire, ce qui - est le cas si <function>cpdf_open</function> a été - appelée dans paramètre de nom de fichier. - </para> - <para> - Voir aussi <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-save-to-file"> - <refnamediv> - <refname>cpdf_save_to_file</refname> - <refpurpose>Ecrit un document PDF dans un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_save_to_file</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_save_to_file</function> écrit un document - PDF dans un fichier, s'il a été créé - en mémoire. <function>cpdf_save_to_file</function> n'est - pas nécessaire si un nom de fichier a été - fourni lors de l'appel à <function>cpdf_open</function>. - </para> - <para> - Voir aussi <function>cpdf_output_buffer</function> - et <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-current-page"> - <refnamediv> - <refname>cpdf_set_current_page</refname> - <refpurpose>Fixe la page courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_current_page</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>page_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_current_page</function> fixe la page - courante, oú toutes les prochaînes opérations - vont avoir lieu. On peut changer de page jusqu'à ce qu'une - page soit terminée avec <function>cpdf_finalize_page</function>. - </para> - <para> - Voir aussi <function>cpdf_finalize_page</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-begin-text"> - <refnamediv> - <refname>cpdf_begin_text</refname> - <refpurpose>Démarre une section de texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_begin_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_begin_text</function> démarre une section de texte. - Elle doit être terminée avec <function>cpdf_end_text</function>. - <example> - <title>Affichage de texte</title> - <programlisting role="php"> -<?php -cpdf_begin_text($pdf); -cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding"); -cpdf_text($pdf, 100, 100, "Some text"); -cpdf_end_text($pdf) -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>cpdf_end_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-end-text"> - <refnamediv> - <refname>cpdf_end_text</refname> - <refpurpose>Termine une section de texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_end_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_end_text</function> termine une section de texte, - commencée avec <function>cpdf_begin_text</function>. - <example> - <title>Affichage de texte</title> - <programlisting role="php"> -<?php -cpdf_begin_text($pdf); -cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding"); -cpdf_text($pdf, 100, 100, "Some text"); -cpdf_end_text($pdf) -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>cpdf_begin_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-show"> - <refnamediv> - <refname>cpdf_show</refname> - <refpurpose>Imprime un texte à la position courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_show</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_show</function> imprime la chaîne - <parameter>text</parameter>, à la position courante. - </para> - <para> - Voir aussi <function>cpdf_text</function>, - <function>cpdf_begin_text</function> - et <function>cpdf_end_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-show-xy"> - <refnamediv> - <refname>cpdf_show_xy</refname> - <refpurpose>Affiche un texte à une position.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_show_xy</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>double <parameter>x-coor</parameter></paramdef> - <paramdef>double <parameter>y-coor</parameter></paramdef> - <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_show_xy</function> imprime la chaîne - <parameter>text</parameter>, à la position de - coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). Le dernier paramètre - optionnel est une unité de longueur. Si il prend la - valeur de 0 (ou si il est omis), c'est la valeur par - défaut (72) qui est utilisé. - <note> - <simpara> - The function <function>cpdf_show_xy</function> est identique à - <function>cpdf_text</function> sans les options. - </simpara> - </note> - </para> - <para> - Voir aussi <function>cpdf_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-text"> - <refnamediv> - <refname>cpdf_text</refname> - <refpurpose>Imprime un texte avec des options.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>double <parameter>x-coor</parameter></paramdef> - <paramdef>double <parameter>y-coor</parameter></paramdef> - <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> - <paramdef> - double <parameter><optional>orientation</optional></parameter> - </paramdef> - <paramdef> - int <parameter><optional>alignmode</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_text</function> imprime le text - <parameter>text</parameter> à la position de - coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). Le paramètre - <parameter>mode</parameter> est une unité de - longueur. Si il prend la valeur de 0 (ou si il est omis), c'est la - valeur par défaut (72) qui est utilisé. - </para> - <para> - Le paramètre optionel <parameter>orientation</parameter> - est un angle de rotation du texte, en degrés. Le - paramètre optionnel <parameter>alignmode</parameter> - détermine l'alignement du texte. Reportez vous - à la doc de ClibPDF, pour les valeurs possibles. - </para> - <para> - Voir aussi <function>cpdf_show_xy</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-font"> - <refnamediv> - <refname>cpdf_set_font</refname> - <refpurpose>Sélectionne la police courante et sa taille.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_font</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>font name</parameter></paramdef> - <paramdef>double <parameter>size</parameter></paramdef> - <paramdef>string <parameter>encoding</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_font</function> selectionne la police - courante, sa taille et l'encodage. Actuellement, seules - les polices postscript sont supportées. - </para> - <para> - Le dernier paramètre <parameter>encoding</parameter> - peut prendre - les valeurs suivantes : "MacRomanEncoding", "MacExpertEncoding", - "WinAnsiEncoding", et "&null;". "&null;" signifie qu'il faut utiliser - l'encodage par défaut. - </para> - <para> - Reportez vous à la doc de - ClibPDF, pour plus d'informations, notamment sur les polices - asiatiques. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-leading"> - <refnamediv> - <refname>cpdf_set_leading</refname> - <refpurpose>Fixe la distance entre deux lignes.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_leading</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>distance</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_leading</function> fixe la distance - entre deux lignes. Cela servira si le texte est - affiché par <function>cpdf_continue_text</function>. - </para> - <para> - Voir aussi <function>cpdf_continue_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-rendering"> - <refnamediv> - <refname>cpdf_set_text_rendering</refname> - <refpurpose>Détermine le rendu du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_rendering</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_rendering</function> détermines - le rendu du texte. - </para> - <para> - Les valeurs possibles pour <parameter>mode</parameter> sont : - 0=texte plein, 1=texte stroke, 2=texte plein et stroke, - 3=invisible, 4=texte plein et ajouté au chemin, - 5=texte stroke et ajouté au chemin, 6=texte plein et stroke et - ajouté au chemin, 7=et ajouté au chemin. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-horiz-scaling"> - <refnamediv> - <refname>cpdf_set_horiz_scaling</refname> - <refpurpose>Fixe l'échelle horizontale du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_horiz_scaling</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>scale</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_horiz_scaling</function> fixe - l'échelle horizontale du texte à - <parameter>scale</parameter> %. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-rise"> - <refnamediv> - <refname>cpdf_set_text_rise</refname> - <refpurpose>Fixe l'élévation du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_rise</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_rise</function> fixe - l'élévation du texte à - <parameter>value</parameter> unités. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-matrix"> - <refnamediv> - <refname>cpdf_set_text_matrix</refname> - <refpurpose>Fixe la matrice du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_matrix</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>array <parameter>matrix</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_matrix</function> fixe la matrice - du texte, qui décrit la transformation - appliquée à police. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-pos"> - <refnamediv> - <refname>cpdf_set_text_pos</refname> - <refpurpose>Fixe la position du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_pos</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_pos</function> Fixe la position du texte pour le - prochain appel à <function>cpdf_show</function>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) qui est - utilisé. - </para> - <para> - Voir aussi <function>cpdf_show</function>, - <function>cpdf_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-char-spacing"> - <refnamediv> - <refname>cpdf_set_char_spacing</refname> - <refpurpose>Fixe l'espacement des caractères.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_pos</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>space</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_char_spacing</function> fixe l'espacement - des caractères. - </para> - <para> - Voir aussi <function>cpdf_set_word_spacing</function>, - <function>cpdf_set_leading</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-word-spacing"> - <refnamediv> - <refname>cpdf_set_word_spacing</refname> - <refpurpose>Fixe l'espacement des mots.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_word_spacing</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>space</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_word_spacing</function> fixe - l'espacement des caractères. - </para> - <para> - Voir aussi <function>cpdf_set_char_spacing</function>, - <function>cpdf_set_leading</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-continue-text"> - <refnamediv> - <refname>cpdf_continue_text</refname> - <refpurpose>Imprime le texte à la ligne suivante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_continue_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_continue_text</function> imprime le texte - <parameter>text</parameter> à la ligne suivante. - </para> - <para> - Voir aussi <function>cpdf_show_xy</function>, - <function>cpdf_text</function>, - <function>cpdf_set_leading</function>, - <function>cpdf_set_text_pos</function>.</para> - </refsect1> - </refentry> - <refentry id="function.cpdf-stringwidth"> - <refnamediv> - <refname>cpdf_stringwidth</refname> - <refpurpose>Retourne la taille de la chaîne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>double <function>cpdf_stringwidth</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_stringwidth</function> retourne la taille - de la chaîne <parameter>text</parameter>. Une police - doit avoir déjà été choisie. - </para> - <para> - Voir aussi <function>cpdf_set_font</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-save"> - <refnamediv> - <refname>cpdf_save</refname> - <refpurpose>Sauve l'environnement courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_save</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_save</function> sauve l'environnement - courant. <function>cpdf_save</function> est similaire à - la commande postscript gsave. Très pratique quand vous devez - faire des translations et rotations sur un objet, mais - sans affecter les autres. - </para> - <para> - Voir aussi <function>cpdf_restore</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-restore"> - <refnamediv> - <refname>cpdf_restore</refname> - <refpurpose>Restaure un environnement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_restore</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_restore</function> restaure l'environnement - sauvé par <function>cpdf_save</function>. Cette - fonction est similaire à la commande postscript - grestore. Très pratique quand vous devez faire des - translations et rotations sur un objet, mais sans affecter - les autres. - <example> - <title>Sauver/Restaurer</title> - <programlisting role="php"> -<?php -cpdf_save($pdf); -// plein de transformations, translations, ... -cpdf_restore($pdf) -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>cpdf_save</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-translate"> - <refnamediv> - <refname>cpdf_translate</refname> - <refpurpose> - Modifie l'origine du système de coordonées. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_translate</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_translate</function> modifie l'origine du - système de coordonées en placant l'origine - aux coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. S'il prend la valeur de 0 - (ou s'il est omis), c'est la valeur par défaut (72) - qui est utilisé. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-scale"> - <refnamediv> - <refname>cpdf_scale</refname> - <refpurpose>Modifie l'échelle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_scale</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-scale</parameter></paramdef> - <paramdef>double <parameter>y-scale</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_scale</function> modifie l'echelle dans les deux directions. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rotate"> - <refnamediv> - <refname>cpdf_rotate</refname> - <refpurpose>Effectue une rotation.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rotate</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>angle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rotate</function> effectue une rotation, d'un angle de - <parameter>angle</parameter> degrés. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setflat"> - <refnamediv> - <refname>cpdf_setflat</refname> - <refpurpose>Fixe la platitude (flatness).</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setflat</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setflat</function> fixe la platitude (flatness), - entre 0 et 100. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setlinejoin"> - <refnamediv> - <refname>cpdf_setlinejoin</refname> - <refpurpose>Fixe le paramètre linejoin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setlinejoin</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>long <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setlinejoin</function> fixe le paramètre - linejoin à une valeur <parameter>value</parameter>, - entre 0 et 2. 0 = miter, 1 = round, 2 = bevel. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setlinecap"> - <refnamediv> - <refname>cpdf_setlinecap</refname> - <refpurpose>Fixe le paramètre linecap.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setlinecap</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setlinecap</function> fixe le paramètre linecap - à une valeur <parameter>value</parameter> - entre 0 et 2. 0 = butt end, 1 = round, 2 = projecting square. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setmiterlimit"> - <refnamediv> - <refname>cpdf_setmiterlimit</refname> - <refpurpose>Fixe le paramètre miter limit.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setmiterlimit</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setmiterlimit</function> fixe le - paramètre "miter limit" à une valeur - supérieure ou égale à 1. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setlinewidth"> - <refnamediv> - <refname>cpdf_setlinewidth</refname> - <refpurpose>Fixe la largeur de ligne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setlinewidth</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setlinewidth</function> fixe la largeur de - ligne à la valeur de <parameter>width</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setdash"> - <refnamediv> - <refname>cpdf_setdash</refname> - <refpurpose>Fixe le motif de pointillé.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setdash</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>white</parameter></paramdef> - <paramdef>double <parameter>black</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setdash</function> fixe le motif de - pointillé à <parameter>white</parameter> - unité de blanc et <parameter>black</parameter> - unités de noir. Si les deux sont à 0, - une ligne pleine est affichée. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-newpath"> - <refnamediv> - <refname>cpdf_newpath</refname> - <refpurpose>Commence un nouveau chemin</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void - <function>cpdf_newpath</function> - </funcdef> - <paramdef>int - <parameter>pdf_document</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_newpath</function> commence un nouveau chemin - dans le document <parameter>pdf_document</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-moveto"> - <refnamediv> - <refname>cpdf_moveto</refname> - <refpurpose>Fixe le point courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_moveto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_moveto</function> fixe le point courant aux - coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rmoveto"> - <refnamediv> - <refname>cpdf_rmoveto</refname> - <refpurpose>Fixe le point courant relativement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rmoveto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rmoveto</function> fixe le point courant - aux coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>), relativement. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_moveto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-curveto"> - <refnamediv> - <refname>cpdf_curveto</refname> - <refpurpose>Dessine une courbe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_curveto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x1</parameter></paramdef> - <paramdef>double <parameter>y1</parameter></paramdef> - <paramdef>double <parameter>x2</parameter></paramdef> - <paramdef>double <parameter>y2</parameter></paramdef> - <paramdef>double <parameter>x3</parameter></paramdef> - <paramdef>double <parameter>y3</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_curveto</function> dessine une courbe de Bezier, - entre le point courant et le point (<parameter>x3</parameter>, - <parameter>y3</parameter>), en utilisant les points de - contrôle (<parameter>x1</parameter>, <parameter>y1</parameter>) - et (<parameter>x2</parameter>, <parameter>y2</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_moveto</function>, - <function>cpdf_rmoveto</function>, - <function>cpdf_rlineto</function>, - <function>cpdf_lineto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-lineto"> - <refnamediv> - <refname>cpdf_lineto</refname> - <refpurpose>Dessine une ligne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_lineto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_lineto</function> dessine une ligne entre le - point courant et le point de coordonnées - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_moveto</function>, - <function>cpdf_rmoveto</function>, - <function>cpdf_curveto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rlineto"> - <refnamediv> - <refname>cpdf_rlineto</refname> - <refpurpose>Dessine une ligne, relativement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rlineto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rlineto</function> dessine une ligne entre - le point courant et le point de coordonnées relatives - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi - <function>cpdf_moveto</function>, - <function>cpdf_rmoveto</function> et - <function>cpdf_curveto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-circle"> - <refnamediv> - <refname>cpdf_circle</refname> - <refpurpose>Dessine un cercle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_circle</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>radius</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_circle</function> dessine un cercle de centre - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) - et de rayon <parameter>radius</parameter>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_arc</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-arc"> - <refnamediv> - <refname>cpdf_arc</refname> - <refpurpose>Dessine un arc de cercle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_arc</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>radius</parameter></paramdef> - <paramdef>double <parameter>start</parameter></paramdef> - <paramdef>double <parameter>end</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_arc</function> dessine un arc de cercle, - dont le centre est au point (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>) et l'angle est - <parameter>radius</parameter>, commencant à l'angle - <parameter>start</parameter> et finissant à l'angle - <parameter>end</parameter>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_circle</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rect"> - <refnamediv> - <refname>cpdf_rect</refname> - <refpurpose>Dessine un rectangle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rect</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rect</function> dessine un rectangle dont le - coin inférieur droit est au point - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - La largeur est <parameter>width</parameter>. - La hauteur est<parameter>height</parameter>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-closepath"> - <refnamediv> - <refname>cpdf_closepath</refname> - <refpurpose>Ferme le chemin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_closepath</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_closepath</function> ferme le chemin courant. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-stroke"> - <refnamediv> - <refname>cpdf_stroke</refname> - <refpurpose>Dessine une ligne le long du chemin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_stroke</function> dessine une ligne le long du chemin. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_closepath_stroke</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-closepath-stroke"> - <refnamediv> - <refname>cpdf_closepath_stroke</refname> - <refpurpose> - Ferme le fichier et dessine une ligne le long du chemin. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_closepath_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_closepath_stroke</function> est une combinaison de - <function>cpdf_closepath</function> et <function>cpdf_stroke</function>. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-fill"> - <refnamediv> - <refname>cpdf_fill</refname> - <refpurpose>Remplit le chemin courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_fill</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_fill</function> remplit l'intérieur du chemin courant - avec la couleur courante. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>, - <function>cpdf_setgray_fill</function>, - <function>cpdf_setgray</function>, - <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-fill-stroke"> - <refnamediv> - <refname>cpdf_fill_stroke</refname> - <refpurpose>Remplit le chemin, et dessine le bord.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_fill_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_fill_stroke</function> remplit l'intérieur - du chemin avec la couleur courante, et dessine le chemin. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>, - <function>cpdf_fill</function>, - <function>cpdf_setgray_fill</function>, - <function>cpdf_setgray</function>, - <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-closepath-fill-stroke"> - <refnamediv> - <refname>cpdf_closepath_fill_stroke</refname> - <refpurpose>Remplit le chemin, dessine le bord et ferme le chemin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_closepath_fill_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_closepath_fill_stroke</function> remplit le chemin, - dessine le bord et ferme le chemin. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>, - <function>cpdf_fill</function>, - <function>cpdf_setgray_fill</function>, - <function>cpdf_setgray</function>, - <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-clip"> - <refnamediv> - <refname>cpdf_clip</refname> - <refpurpose>Aligne les dessins sur le chemin courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_clip</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_clip</function> aligne les dessins sur le chemin courant. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setgray-fill"> - <refnamediv> - <refname>cpdf_setgray_fill</refname> - <refpurpose> - Modifie le niveau de gris comme couleur de remplissage. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setgray_fill</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setgray_fill</function> remplace le niveau de gris, - couleur de remplissage courante, par <parameter>value</parameter>. - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_fill</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setgray-stroke"> - <refnamediv> - <refname>cpdf_setgray_stroke</refname> - <refpurpose>Choisit un niveau de gris comme couleur de dessin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setgray_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>gray_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setgray_stroke</function> remplace le niveau de gris, - couleur de dessin courante, par <parameter>value</parameter>. - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setgray"> - <refnamediv> - <refname>cpdf_setgray</refname> - <refpurpose> - Modifie un niveau de gris comme couleur de dessin et de remplissage. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setgray</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>gray_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setgray_stroke</function> remplace le niveau de gris, - couleur de dessin et de remplissage, par <parameter>value</parameter>. - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function>, - <function>cpdf_setrgbcolor_fill</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setrgbcolor-fill"> - <refnamediv> - <refname>cpdf_setrgbcolor_fill</refname> - <refpurpose>Choisit une couleur rgb comme couleur de remplissage.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setrgbcolor_fill</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>red_value</parameter></paramdef> - <paramdef>double <parameter>green_value</parameter></paramdef> - <paramdef>double <parameter>blue_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setrgbcolor_fill</function> remplace la couleur de - remplissage, par la couleur rgb (<parameter>red_value</parameter>, - <parameter>green_value</parameter>, <parameter>blue_value</parameter>). - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function>, - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setrgbcolor-stroke"> - <refnamediv> - <refname>cpdf_setrgbcolor_stroke</refname> - <refpurpose>Choisit une couleur rgb comme couleur de dessin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setrgbcolor_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>red_value</parameter></paramdef> - <paramdef>double <parameter>green_value</parameter></paramdef> - <paramdef>double <parameter>blue_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de - dessin, par la couleur rgb (<parameter>red_value</parameter>, - <parameter>green_value</parameter>, <parameter>blue_value</parameter>). - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setrgbcolor"> - <refnamediv> - <refname>cpdf_setrgbcolor</refname> - <refpurpose> - Choisit une couleur rgb comme couleur de dessin et de remplissage. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setrgbcolor</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>red_value</parameter></paramdef> - <paramdef>double <parameter>green_value</parameter></paramdef> - <paramdef>double <parameter>blue_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de - remplissage et de dessin, par la couleur rgb (<parameter>red_value</parameter>, - <parameter>green_value</parameter>, <parameter>blue_value</parameter>). - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function> et - <function>cpdf_setrgbcolor_fill</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-add-outline"> - <refnamediv> - <refname>cpdf_add_outline</refname> - <refpurpose>Ajoute un signet à la page courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_add_outline</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_add_outline</function> ajoute un signet - à la page courante, avec le texte <parameter>text</parameter> - qui pointe sur la page courante. - <example> - <title>Ajouter une mise en relief</title> - <programlisting role="php"> -<?php -$cpdf = cpdf_open(0); -cpdf_page_init($cpdf, 1, 0, 595, 842); -cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1"); -// ... -// quelques dessins -// ... -cpdf_finalize($cpdf); -Header("Content-type: application/pdf"); -cpdf_output_buffer($cpdf); -cpdf_close($cpdf); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-page-animation"> - <refnamediv> - <refname>cpdf_set_page_animation</refname> - <refpurpose>Fixe l'animation de la transition entre les pages.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_page_animation</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>transition</parameter></paramdef> - <paramdef>double <parameter>duration</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_page_animation</function> fixe l'animation de - la transition entre les pages. - </para> - <para> - La valeur du paramètre de transition - <parameter>transition</parameter> peut être : - <simplelist> - <member> - 0 pour aucune, - </member> - <member> - 1 pour deux lignes en travers de l'écran, - qui révèlent la prochaîne page, - </member> - <member> - 2 pour plusieurs lignes en travers de l'écran, - qui révèlent la prochaîne page, - </member> - <member> - 3 pour une boîte qui révèle - la prochaîne page, - </member> - <member> - 4 pour une seule ligne en travers de l'écran, - qui révèle la prochaîne page, - </member> - <member> - 5 pour l'ancienne page qui se dissout - </member> - <member> - 6 pour un effet de dissolution d'un angle à l'autre - </member> - <member> - 7 pour le remplacement simple (par défaut) - </member> - </simplelist> - </para> - <para> - La valeur de <parameter>duration</parameter> est le nombre de - secondes avant le passage à la page suivante. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-import-jpeg"> - <refnamediv> - <refname>cpdf_import_jpeg</refname> - <refpurpose>Ouvre une image JPEG.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>cpdf_import_jpeg</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>file name</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>angle</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>double <parameter>x-scale</parameter></paramdef> - <paramdef>double <parameter>y-scale</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_import_jpeg</function> ouvre une image JPG, - enregistré dans le fichier <parameter>file name</parameter>. - Le format de l'image doit être JPEG. L'image est placée - dans la page courante, aux coordonnées - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - L'image subira une rotation d'un angle de <parameter>angle</parameter> - degrés. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une unité - de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est - la valeur par défaut (72) qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_place_inline_image</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-place-inline-image"> - <refnamediv> - <refname>cpdf_place_inline_image</refname> - <refpurpose>Place une image dans la page.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_place_inline_image</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>image</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>angle</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_place_inline_image</function> places une image - créée par un script PHP, dans la page, à - la position (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - L'image peut être mise à l'échelle, en même temps. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une unité - de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est - la valeur par défaut (72) qui est utilisé. - </para> - <para> - Voir aussi <function>cpdf_import_jpeg</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-add-annotation"> - <refnamediv> - <refname>cpdf_add_annotation</refname> - <refpurpose>Ajoute une annotation.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_add_annotation</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>llx</parameter></paramdef> - <paramdef>double <parameter>lly</parameter></paramdef> - <paramdef>double <parameter>urx</parameter></paramdef> - <paramdef>double <parameter>ury</parameter></paramdef> - <paramdef>string <parameter>title</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_add_annotation</function> ajoute une note, dont - le coin inférieur droit est (<parameter>llx</parameter>, - <parameter>lly</parameter>) et le coin supérieur droit est - (<parameter>urx</parameter>, <parameter>ury</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou si - il est omis), c'est la valeur par défaut (72) qui est - utilisé. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.11 $ --><reference id="ref.cpdf"> <title>ClibPDF</title> <titleabbrev>ClibPDF</titleabbrev> <partintro> <simpara> L'extension ClibPDF vous permet de créer des documents PDF avec PHP. Elle est disponible en téléchargement sur le site <ulink url="&url.fastio;">FastIO</ulink>, mais requiert l'achat d'une licence pour utilisation commerciale. Les fonctionnalités et API de ClibPDF sont très similaires à <link linkend="ref.pdf">PDFlib</link>. </simpara> <simpara> Cette documentation devrait être lue avec le manuel ClibPDF sous la main, car il est beaucoup plus détaillé. </simpara> <simpara> Beaucoup de fonctions sont natives de ClibPDF et se retrouvent dans le module PHP, et tout comme pdflib, elles ont le même nom. Toutes les fonctions, hormis <function>cpdf_open</function> utilisent un pointeur sur un document comme premier paramètre. Actuellement, ce pointeur n'est pas utilisé en interne, car ClibPDF ne supporte pas la création de plusieurs documents PDF simultanément. En fait, il ne vaut mieux pas l'envisager, car les résultats sont aléatoires. Je ne veux même pas imaginer les problèmes qui pourrait se poser avec les environnements multi-tâches. Selon l'auteur de ClibPDF, cette situation va changer dans les prochaines versions (lorsque cette documentation a été traduite, c'était la version 1.10). Si vous avez besoin de cette fonctionnalité, utilisez pdflib. </simpara> <note> <simpara> La fonction <function>cpdf_set_font</function> a changé depuis le PHP 3.0 pour supporter les polices asiatiques. Le paramètre d'encodage n'est plus un entier, mais une chaîne. </simpara> </note> <simpara> Une caractéristique pratique de ClibPDF (et aussi de <link linkend="ref.pdf">PDFlib</link>) est celle de créer le document PDF en mémoire, sans fichiers temporaires. ClibPDF permet aussi de passer les coordonnées avec une unité prédéfinie (ce qui peut être simulé avec <function>pdf_translate</function> de la librairie <link linkend="ref.pdf">PDFlib</link>). </simpara> <simpara> Un autre atout de ClibPDF est que chaque page peut être modifiée à tout moment même si une nouvelle page a été ouverte. La fonction <function>cpdf_set_current_page</function> vous permet de quitter temporairement une page, et d'en modifier une autre. </simpara> <simpara> La plupart des fonctions sont très simples d'emploi. Le plus difficile est probablement de créer un document PDF simple. L'exemple suivant devrait vous aider à démarrer. La page contient du texte qui utilise la police "Times-Roman" en taille 30, outlined. Le texte est souligné. </simpara> <example> <title>Exemple simple ClibPDF</title> <programlisting role="php"><?php$cpdf = cpdf_open(0);cpdf_page_init($cpdf, 1, 0, 595, 842);cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding");cpdf_set_text_rendering($cpdf, 1);cpdf_text($cpdf, "Times Roman outlined", 50, 750);cpdf_moveto($cpdf, 50, 740);cpdf_lineto($cpdf, 330, 740);cpdf_stroke($cpdf);cpdf_finalize($cpdf);Header("Content-type: application/pdf");cpdf_output_buffer($cpdf);cpdf_close($cpdf);?> </programlisting> </example> <simpara> La distribution pdflib contient un exemple plus complet, qui crée des séries de pages avec une horloge. Voici cet exemple convertit en script PHP qui utilise l'extension ClibPDF : </simpara> <example> <title>Exemple pdfclock de la distribution pdflib 2.0</title> <programlisting role="php"><?php$radius = 200;$margin = 20;$pagecount = 40;$pdf = cpdf_open(0);cpdf_set_creator($pdf, "pdf_clock.php3");cpdf_set_title($pdf, "Analog Clock");while($pagecount-- > 0) { cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0); cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0); /* wipe */ cpdf_translate($pdf, $radius + $margin, $radius + $margin); cpdf_save($pdf); cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0); /* indications des minutes */ cpdf_setlinewidth($pdf, 2.0); for ($alpha = 0; $alpha < 360; $alpha += 6) { cpdf_rotate($pdf, 6.0); cpdf_moveto($pdf, $radius, 0.0); cpdf_lineto($pdf, $radius-$margin/3, 0.0); cpdf_stroke($pdf); } cpdf_restore($pdf); cpdf_save($pdf); /* Indications des 5 minutes */ cpdf_setlinewidth($pdf, 3.0); for ($alpha = 0; $alpha < 360; $alpha += 30) { cpdf_rotate($pdf, 30.0); cpdf_moveto($pdf, $radius, 0.0); cpdf_lineto($pdf, $radius-$margin, 0.0); cpdf_stroke($pdf); } $ltime = getdate(); /* aiguille des heures */ cpdf_save($pdf); cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0); cpdf_moveto($pdf, -$radius/10, -$radius/20); cpdf_lineto($pdf, $radius/2, 0.0); cpdf_lineto($pdf, -$radius/10, $radius/20); cpdf_closepath($pdf); cpdf_fill($pdf); cpdf_restore($pdf); /* aiguille des minutes */ cpdf_save($pdf); cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0); cpdf_moveto($pdf, -$radius/10, -$radius/20); cpdf_lineto($pdf, $radius * 0.8, 0.0); cpdf_lineto($pdf, -$radius/10, $radius/20); cpdf_closepath($pdf); cpdf_fill($pdf); cpdf_restore($pdf); /* aiguille des secondes */ cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0); cpdf_setlinewidth($pdf, 2); cpdf_save($pdf); cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0)); cpdf_moveto($pdf, -$radius/5, 0.0); cpdf_lineto($pdf, $radius, 0.0); cpdf_stroke($pdf); cpdf_restore($pdf); /* Un petit cercle au centre */ cpdf_circle($pdf, 0, 0, $radius/30); cpdf_fill($pdf); cpdf_restore($pdf); cpdf_finalize_page($pdf, $pagecount+1);}cpdf_finalize($pdf);header("Content-type: application/pdf");cpdf_output_buffer($pdf);cpdf_close($pdf);?> </programlisting> </example> </partintro> <refentry id="function.cpdf-add-annotation"> <refnamediv> <refname>cpdf_add_annotation</refname> <refpurpose>Ajoute une annotation.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_add_annotation</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>llx</parameter></paramdef> <paramdef>float <parameter>lly</parameter></paramdef> <paramdef>float <parameter>urx</parameter></paramdef> <paramdef>float <parameter>ury</parameter></paramdef> <paramdef>string <parameter>title</parameter></paramdef> <paramdef>string <parameter>content</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_add_annotation</function> ajoute une note, dont le coin inférieur droit est (<parameter>llx</parameter>, <parameter>lly</parameter>) et le coin supérieur droit est (<parameter>urx</parameter>, <parameter>ury</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou si il est omis), c'est la valeur par défaut (72) qui est utilisé. </para> </refsect1> </refentry> <refentry id="function.cpdf-add-outline"> <refnamediv> <refname>cpdf_add_outline</refname> <refpurpose>Ajoute un signet à la page courante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_add_outline</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_add_outline</function> ajoute un signet à la page courante, avec le texte <parameter>text</parameter> qui pointe sur la page courante. <example> <title>Ajouter une mise en relief</title> <programlisting role="php"><?php$cpdf = cpdf_open(0);cpdf_page_init($cpdf, 1, 0, 595, 842);cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");// ...// quelques dessins// ...cpdf_finalize($cpdf);Header("Content-type: application/pdf");cpdf_output_buffer($cpdf);cpdf_close($cpdf);?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.cpdf-arc"> <refnamediv> <refname>cpdf_arc</refname> <refpurpose>Dessine un arc de cercle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_arc</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>float <parameter>radius</parameter></paramdef> <paramdef>float <parameter>start</parameter></paramdef> <paramdef>float <parameter>end</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_arc</function> dessine un arc de cercle, dont le centre est au point (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) et l'angle est <parameter>radius</parameter>, commençant à l'angle <parameter>start</parameter> et finissant à l'angle <parameter>end</parameter>. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_circle</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-begin-text"> <refnamediv> <refname>cpdf_begin_text</refname> <refpurpose>Démarre une section de texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_begin_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_begin_text</function> démarre une section de texte. Elle doit être terminée avec <function>cpdf_end_text</function>. <example> <title>Affichage de texte</title> <programlisting role="php"><?phpcpdf_begin_text($pdf);cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");cpdf_text($pdf, 100, 100, "Some text");cpdf_end_text($pdf)?> </programlisting> </example> </para> <para> Voir aussi <function>cpdf_end_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-circle"> <refnamediv> <refname>cpdf_circle</refname> <refpurpose>Dessine un cercle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_circle</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>float <parameter>radius</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_circle</function> dessine un cercle de centre (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) et de rayon <parameter>radius</parameter>. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_arc</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-clip"> <refnamediv> <refname>cpdf_clip</refname> <refpurpose>Aligne les dessins sur le chemin courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_clip</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_clip</function> aligne les dessins sur le chemin courant. </para> </refsect1> </refentry> <refentry id="function.cpdf-close"> <refnamediv> <refname>cpdf_close</refname> <refpurpose>Ferme un fichier PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_close</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_close</function> ferme un fichier PDF. Ce doit être la dernière fonction appelée, et elle apparaît même après <function>cpdf_finalize</function>, <function>cpdf_output_buffer</function> et <function>cpdf_save_to_file</function>. </para> <para> Voir aussi <function>cpdf_open</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-closepath"> <refnamediv> <refname>cpdf_closepath</refname> <refpurpose>Ferme le chemin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_closepath</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_closepath</function> ferme le chemin courant. </para> </refsect1> </refentry> <refentry id="function.cpdf-closepath-fill-stroke"> <refnamediv> <refname>cpdf_closepath_fill_stroke</refname> <refpurpose>Remplit le chemin, dessine le bord et ferme le chemin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_closepath_fill_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_closepath_fill_stroke</function> remplit le chemin, dessine le bord et ferme le chemin. </para> <para> Voir aussi <function>cpdf_closepath</function>, <function>cpdf_stroke</function>, <function>cpdf_fill</function>, <function>cpdf_setgray_fill</function>, <function>cpdf_setgray</function>, <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-closepath-stroke"> <refnamediv> <refname>cpdf_closepath_stroke</refname> <refpurpose> Ferme le fichier et dessine une ligne le long du chemin. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_closepath_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_closepath_stroke</function> est une combinaison de <function>cpdf_closepath</function> et <function>cpdf_stroke</function>. </para> <para> Voir aussi <function>cpdf_closepath</function> et <function>cpdf_stroke</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-continue-text"> <refnamediv> <refname>cpdf_continue_text</refname> <refpurpose>Imprime le texte à la ligne suivante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_continue_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_continue_text</function> imprime le texte <parameter>text</parameter> à la ligne suivante. </para> <para> Voir aussi <function>cpdf_show_xy</function>, <function>cpdf_text</function>, <function>cpdf_set_leading</function> et <function>cpdf_set_text_pos</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-curveto"> <refnamediv> <refname>cpdf_curveto</refname> <refpurpose>Dessine une courbe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_curveto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x1</parameter></paramdef> <paramdef>float <parameter>y1</parameter></paramdef> <paramdef>float <parameter>x2</parameter></paramdef> <paramdef>float <parameter>y2</parameter></paramdef> <paramdef>float <parameter>x3</parameter></paramdef> <paramdef>float <parameter>y3</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_curveto</function> dessine une courbe de Bezier, entre le point courant et le point (<parameter>x3</parameter>, <parameter>y3</parameter>), en utilisant les points de contrôle (<parameter>x1</parameter>, <parameter>y1</parameter>) et (<parameter>x2</parameter>, <parameter>y2</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function>, <function>cpdf_rlineto</function> et <function>cpdf_lineto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-end-text"> <refnamediv> <refname>cpdf_end_text</refname> <refpurpose>Termine une section de texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_end_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_end_text</function> termine une section de texte, commencée avec <function>cpdf_begin_text</function>. <example> <title>Affichage de texte</title> <programlisting role="php"><?phpcpdf_begin_text($pdf);cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");cpdf_text($pdf, 100, 100, "Some text");cpdf_end_text($pdf)?> </programlisting> </example> </para> <para> Voir aussi <function>cpdf_begin_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-fill"> <refnamediv> <refname>cpdf_fill</refname> <refpurpose>Remplit le chemin courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_fill</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_fill</function> remplit l'intérieur du chemin courant avec la couleur courante. </para> <para> Voir aussi <function>cpdf_closepath</function>, <function>cpdf_stroke</function>, <function>cpdf_setgray_fill</function>, <function>cpdf_setgray</function>, <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-fill-stroke"> <refnamediv> <refname>cpdf_fill_stroke</refname> <refpurpose>Remplit le chemin, et dessine le bord.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_fill_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_fill_stroke</function> remplit l'intérieur du chemin avec la couleur courante, et dessine le chemin. </para> <para> Voir aussi <function>cpdf_closepath</function>, <function>cpdf_stroke</function>, <function>cpdf_fill</function>, <function>cpdf_setgray_fill</function>, <function>cpdf_setgray</function>, <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-finalize"> <refnamediv> <refname>cpdf_finalize</refname> <refpurpose>Termine un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_finalize</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_finalize</function> termine un document. Vous devez toujours appeler <function>cpdf_close</function> après. </para> <para> Voir aussi <function>cpdf_close</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-finalize-page"> <refnamediv> <refname>cpdf_finalize_page</refname> <refpurpose>Termine une page.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_finalize_page</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>page_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_finalize_page</function> termine la page de numéro <parameter>page_number</parameter>. <function>cpdf_finalize_page</function> ne fait qu'une sauvegarde mémoire. Les pages terminées prennent moins de place, mais ne peuvent plus être modifiées. </para> <para> Voir aussi <function>cpdf_page_init</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-global-set-document-limits"> <refnamediv> <refname>cpdf_global_set_document_limits</refname> <refpurpose>Fixe les limites d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef> void <function>cpdf_global_set_document_limits</function> </funcdef> <paramdef>int <parameter>maxpages</parameter></paramdef> <paramdef>int <parameter>maxfonts</parameter></paramdef> <paramdef>int <parameter>maximages</parameter></paramdef> <paramdef>int <parameter>maxannotations</parameter></paramdef> <paramdef>int <parameter>maxobjects</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_global_set_document_limits</function> permet de fixer plusieurs limites au document PDF. <function>cpdf_global_set_document_limits</function> doit être appelé avant <function>cpdf_open</function> pour être effective. Elle fixe les limites de tous les documents ouverts après. </para> <para> Voir aussi <function>cpdf_open</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-import-jpeg"> <refnamediv> <refname>cpdf_import_jpeg</refname> <refpurpose>Ouvre une image JPEG.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>cpdf_import_jpeg</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>file_name</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>float <parameter>angle</parameter></paramdef> <paramdef>float <parameter>width</parameter></paramdef> <paramdef>float <parameter>height</parameter></paramdef> <paramdef>float <parameter>x-scale</parameter></paramdef> <paramdef>float <parameter>y-scale</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_import_jpeg</function> ouvre une image JPG, enregistré dans le fichier <parameter>file_name</parameter>. Le format de l'image doit être JPEG. L'image est placée dans la page courante, aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). L'image subira une rotation d'un angle de <parameter>angle</parameter> degrés. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_place_inline_image</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-lineto"> <refnamediv> <refname>cpdf_lineto</refname> <refpurpose>Dessine une ligne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_lineto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_lineto</function> dessine une ligne entre le point courant et le point de coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function> et <function>cpdf_curveto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-moveto"> <refnamediv> <refname>cpdf_moveto</refname> <refpurpose>Fixe le point courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_moveto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_moveto</function> fixe le point courant aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> </refsect1> </refentry> <refentry id="function.cpdf-newpath"> <refnamediv> <refname>cpdf_newpath</refname> <refpurpose>Commence un nouveau chemin</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_newpath</function> </funcdef> <paramdef>int <parameter>pdf_document</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_newpath</function> commence un nouveau chemin dans le document <parameter>pdf_document</parameter>. </para> </refsect1> </refentry> <refentry id="function.cpdf-open"> <refnamediv> <refname>cpdf_open</refname> <refpurpose>Ouvre un nouveau document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>cpdf_open</function></funcdef> <paramdef>int <parameter>compression</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_open</function> ouvre un nouveau document PDF. Le premier paramètre <parameter>compression</parameter> active ou pas la compression, suivant qu'il vaut 0 ou 1. Le deuxième paramètre, optionnel, choisit le fichier de destination du document. S'il est omis, le document sera écrit en mémoire, et pourra être écrit dans un fichier avec <function>cpdf_save_to_file</function> ou envoyé à l'affichage avec <function>cpdf_output_buffer</function>. <note> <simpara> La valeur retournée sera nécessaire pour les autres fonctions de ClibPDF comme premier paramètre. </simpara> <simpara> La librairie ClibPDF prend le nom de fichier "-" comme synonyme de stdout. Si PHP est compilé comme un module apache, cela ne fonctionnera pas, car la méthode d'envoie des données de ClibPDF ne fonctionne pas avec Apache. Vous pouvez résoudre ce problème en ne fournissant pas de nom de fichier, et en utilisant la fonction <function>cpdf_output_buffer</function> pour afficher le document PDF. </simpara> </note> </para> <para> Voir aussi <function>cpdf_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-text"> <refnamediv> <refname>cpdf_text</refname> <refpurpose>Imprime un texte avec des options.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>float <parameter>x-coor</parameter></paramdef> <paramdef>float <parameter>y-coor</parameter></paramdef> <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> <paramdef> float <parameter><optional>orientation</optional></parameter> </paramdef> <paramdef> int <parameter><optional>alignmode</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_text</function> imprime le text <parameter>text</parameter> à la position de coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). Le paramètre <parameter>mode</parameter> est une unité de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est la valeur par défaut (72) qui est utilisé. </para> <para> Le paramètre optionel <parameter>orientation</parameter> est un angle de rotation du texte, en degrés. Le paramètre optionnel <parameter>alignmode</parameter> détermine l'alignement du texte. Reportez vous à la doc de ClibPDF, pour les valeurs possibles. </para> <para> Voir aussi <function>cpdf_show_xy</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-font"> <refnamediv> <refname>cpdf_set_font</refname> <refpurpose>Sélectionne la police courante et sa taille.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_font</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>font name</parameter></paramdef> <paramdef>float <parameter>size</parameter></paramdef> <paramdef>string <parameter>encoding</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_font</function> selectionne la police courante, sa taille et l'encodage. Actuellement, seules les polices postscript sont supportées. </para> <para> Le dernier paramètre <parameter>encoding</parameter> peut prendre les valeurs suivantes : "MacRomanEncoding", "MacExpertEncoding", "WinAnsiEncoding", et "&null;". "&null;" signifie qu'il faut utiliser l'encodage par défaut. </para> <para> Reportez vous à la doc de ClibPDF, pour plus d'informations, notamment sur les polices asiatiques. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-leading"> <refnamediv> <refname>cpdf_set_leading</refname> <refpurpose>Fixe la distance entre deux lignes.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_leading</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>distance</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_leading</function> fixe la distance entre deux lignes. Cela servira si le texte est affiché par <function>cpdf_continue_text</function>. </para> <para> Voir aussi <function>cpdf_continue_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-rendering"> <refnamediv> <refname>cpdf_set_text_rendering</refname> <refpurpose>Détermine le rendu du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_rendering</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_rendering</function> détermines le rendu du texte. </para> <para> Les valeurs possibles pour <parameter>mode</parameter> sont : 0=texte plein, 1=texte stroke, 2=texte plein et stroke, 3=invisible, 4=texte plein et ajouté au chemin, 5=texte stroke et ajouté au chemin, 6=texte plein et stroke et ajouté au chemin, 7=et ajouté au chemin. </para> </refsect1> </refentry> <refentry id="function.cpdf-restore"> <refnamediv> <refname>cpdf_restore</refname> <refpurpose>Restaure un environnement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_restore</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_restore</function> restaure l'environnement sauvé par <function>cpdf_save</function>. Cette fonction est similaire à la commande postscript grestore. Très pratique quand vous devez faire des translations et rotations sur un objet, mais sans affecter les autres. <example> <title>Sauver/Restaurer</title> <programlisting role="php"><?phpcpdf_save($pdf);// plein de transformations, translations, ...cpdf_restore($pdf)?> </programlisting> </example> </para> <para> Voir aussi <function>cpdf_save</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-rlineto"> <refnamediv> <refname>cpdf_rlineto</refname> <refpurpose>Dessine une ligne, relativement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_rlineto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_rlineto</function> dessine une ligne entre le point courant et le point de coordonnées relatives (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function> et <function>cpdf_curveto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-rmoveto"> <refnamediv> <refname>cpdf_rmoveto</refname> <refpurpose>Fixe le point courant relativement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_rmoveto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_rmoveto</function> fixe le point courant aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>), relativement. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-rotate"> <refnamediv> <refname>cpdf_rotate</refname> <refpurpose>Effectue une rotation.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_rotate</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>angle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_rotate</function> effectue une rotation, d'un angle de <parameter>angle</parameter> degrés. </para> </refsect1> </refentry> <refentry id="function.cpdf-save"> <refnamediv> <refname>cpdf_save</refname> <refpurpose>Sauve l'environnement courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_save</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_save</function> sauve l'environnement courant. <function>cpdf_save</function> est similaire à la commande postscript gsave. Très pratique quand vous devez faire des translations et rotations sur un objet, mais sans affecter les autres. </para> <para> Voir aussi <function>cpdf_restore</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-save-to-file"> <refnamediv> <refname>cpdf_save_to_file</refname> <refpurpose>Ecrit un document PDF dans un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_save_to_file</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_save_to_file</function> écrit un document PDF dans un fichier, s'il a été créé en mémoire. <function>cpdf_save_to_file</function> n'est pas nécessaire si un nom de fichier a été fourni lors de l'appel à <function>cpdf_open</function>. </para> <para> Voir aussi <function>cpdf_output_buffer</function> et <function>cpdf_open</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-char-spacing"> <refnamediv> <refname>cpdf_set_char_spacing</refname> <refpurpose>Fixe l'espacement des caractères.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_pos</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>space</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_char_spacing</function> fixe l'espacement des caractères. </para> <para> Voir aussi <function>cpdf_set_word_spacing</function> et <function>cpdf_set_leading</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-creator"> <refnamediv> <refname>cpdf_set_creator</refname> <refpurpose>Fixe le créateur d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_creator</function></funcdef> <paramdef>string <parameter>creator</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_creator</function> fixe le créateur d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_subject</function>, <function>cpdf_set_title</function> et <function>cpdf_set_keywords</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-current-page"> <refnamediv> <refname>cpdf_set_current_page</refname> <refpurpose>Fixe la page courante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_current_page</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>page_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_current_page</function> fixe la page courante, où toutes les prochaines opérations vont avoir lieu. On peut changer de page jusqu'à ce qu'une page soit terminée avec <function>cpdf_finalize_page</function>. </para> <para> Voir aussi <function>cpdf_finalize_page</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-horiz-scaling"> <refnamediv> <refname>cpdf_set_horiz_scaling</refname> <refpurpose>Fixe l'échelle horizontale du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_horiz_scaling</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>scale</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_horiz_scaling</function> fixe l'échelle horizontale du texte à <parameter>scale</parameter> %. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-keywords"> <refnamediv> <refname>cpdf_set_keywords</refname> <refpurpose>Fixe les mot clés d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_keywords</function></funcdef> <paramdef>string <parameter>keywords</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_keywords</function> fixe les mots-clé d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_title</function>, <function>cpdf_set_creator</function> et <function>cpdf_set_subject</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-page-animation"> <refnamediv> <refname>cpdf_set_page_animation</refname> <refpurpose>Fixe l'animation de la transition entre les pages.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_page_animation</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>transition</parameter></paramdef> <paramdef>float <parameter>duration</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_page_animation</function> fixe l'animation de la transition entre les pages. </para> <para> La valeur du paramètre de transition <parameter>transition</parameter> peut être : <simplelist> <member> 0 pour aucune, </member> <member> 1 pour deux lignes en travers de l'écran, qui révèlent la prochaine page, </member> <member> 2 pour plusieurs lignes en travers de l'écran, qui révèlent la prochaine page, </member> <member> 3 pour une boîte qui révèle la prochaine page, </member> <member> 4 pour une seule ligne en travers de l'écran, qui révèle la prochaine page, </member> <member> 5 pour l'ancienne page qui se dissout </member> <member> 6 pour un effet de dissolution d'un angle à l'autre </member> <member> 7 pour le remplacement simple (par défaut) </member> </simplelist> </para> <para> La valeur de <parameter>duration</parameter> est le nombre de secondes avant le passage à la page suivante. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-subject"> <refnamediv> <refname>cpdf_set_subject</refname> <refpurpose>Fixe le sujet d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_subject</function></funcdef> <paramdef>string <parameter>subject</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_subject</function> fixe le sujet d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_title</function>, <function>cpdf_set_creator</function> et <function>cpdf_set_keywords</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-matrix"> <refnamediv> <refname>cpdf_set_text_matrix</refname> <refpurpose>Fixe la matrice du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_matrix</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>array <parameter>matrix</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_matrix</function> fixe la matrice du texte, qui décrit la transformation appliquée à police. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-pos"> <refnamediv> <refname>cpdf_set_text_pos</refname> <refpurpose>Fixe la position du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_pos</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_pos</function> Fixe la position du texte pour le prochain appel à <function>cpdf_show</function>. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_show</function> et <function>cpdf_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-rise"> <refnamediv> <refname>cpdf_set_text_rise</refname> <refpurpose>Fixe l'élévation du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_rise</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_rise</function> fixe l'élévation du texte à <parameter>value</parameter> unités. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-title"> <refnamediv> <refname>cpdf_set_title</refname> <refpurpose>Fixe le titre d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_title</function></funcdef> <paramdef>string <parameter>title</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_title</function> fixe le titre d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_subject</function>, <function>cpdf_set_creator</function> et <function>cpdf_set_keywords</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-word-spacing"> <refnamediv> <refname>cpdf_set_word_spacing</refname> <refpurpose>Fixe l'espacement des mots.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_word_spacing</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>space</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_word_spacing</function> fixe l'espacement des caractères. </para> <para> Voir aussi <function>cpdf_set_char_spacing</function> et <function>cpdf_set_leading</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setdash"> <refnamediv> <refname>cpdf_setdash</refname> <refpurpose>Fixe le motif de pointillé.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setdash</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>white</parameter></paramdef> <paramdef>float <parameter>black</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setdash</function> fixe le motif de pointillé à <parameter>white</parameter> unité de blanc et <parameter>black</parameter> unités de noir. Si les deux sont à 0, une ligne pleine est affichée. </para> </refsect1> </refentry> <refentry id="function.cpdf-setflat"> <refnamediv> <refname>cpdf_setflat</refname> <refpurpose>Fixe la platitude (flatness).</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setflat</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setflat</function> fixe la platitude (flatness), entre 0 et 100. </para> </refsect1> </refentry> <refentry id="function.cpdf-setgray"> <refnamediv> <refname>cpdf_setgray</refname> <refpurpose> Modifie un niveau de gris comme couleur de dessin et de remplissage. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setgray</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>gray_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setgray_stroke</function> remplace le niveau de gris, couleur de dessin et de remplissage, par <parameter>value</parameter>. </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function> et <function>cpdf_setrgbcolor_fill</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setgray-fill"> <refnamediv> <refname>cpdf_setgray_fill</refname> <refpurpose> Modifie le niveau de gris comme couleur de remplissage. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setgray_fill</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setgray_fill</function> remplace le niveau de gris, couleur de remplissage courante, par <parameter>value</parameter>. </para> <para> Voir aussi <function>cpdf_setrgbcolor_fill</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setgray-stroke"> <refnamediv> <refname>cpdf_setgray_stroke</refname> <refpurpose>Choisit un niveau de gris comme couleur de dessin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setgray_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>gray_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setgray_stroke</function> remplace le niveau de gris, couleur de dessin courante, par <parameter>value</parameter>. </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setlinecap"> <refnamediv> <refname>cpdf_setlinecap</refname> <refpurpose>Fixe le paramètre linecap.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setlinecap</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setlinecap</function> fixe le paramètre linecap à une valeur <parameter>value</parameter> entre 0 et 2. 0 = butt end, 1 = round, 2 = projecting square. </para> </refsect1> </refentry> <refentry id="function.cpdf-setlinejoin"> <refnamediv> <refname>cpdf_setlinejoin</refname> <refpurpose>Fixe le paramètre linejoin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setlinejoin</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>long <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setlinejoin</function> fixe le paramètre linejoin à une valeur <parameter>value</parameter>, entre 0 et 2. 0 = miter, 1 = round, 2 = bevel. </para> </refsect1> </refentry> <refentry id="function.cpdf-setlinewidth"> <refnamediv> <refname>cpdf_setlinewidth</refname> <refpurpose>Fixe la largeur de ligne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setlinewidth</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>width</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setlinewidth</function> fixe la largeur de ligne à la valeur de <parameter>width</parameter>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setmiterlimit"> <refnamediv> <refname>cpdf_setmiterlimit</refname> <refpurpose>Fixe le paramètre miter limit.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setmiterlimit</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setmiterlimit</function> fixe le paramètre "miter limit" à une valeur supérieure ou égale à 1. </para> </refsect1> </refentry> <refentry id="function.cpdf-setrgbcolor"> <refnamediv> <refname>cpdf_setrgbcolor</refname> <refpurpose> Choisit une couleur rgb comme couleur de dessin et de remplissage. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setrgbcolor</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>red_value</parameter></paramdef> <paramdef>float <parameter>green_value</parameter></paramdef> <paramdef>float <parameter>blue_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de remplissage et de dessin, par la couleur rgb (<parameter>red_value</parameter>, <parameter>green_value</parameter>, <parameter>blue_value</parameter>). </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function> et <function>cpdf_setrgbcolor_fill</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setrgbcolor-fill"> <refnamediv> <refname>cpdf_setrgbcolor_fill</refname> <refpurpose>Choisit une couleur rgb comme couleur de remplissage.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setrgbcolor_fill</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>red_value</parameter></paramdef> <paramdef>float <parameter>green_value</parameter></paramdef> <paramdef>float <parameter>blue_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setrgbcolor_fill</function> remplace la couleur de remplissage, par la couleur rgb (<parameter>red_value</parameter>, <parameter>green_value</parameter>, <parameter>blue_value</parameter>). </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setrgbcolor-stroke"> <refnamediv> <refname>cpdf_setrgbcolor_stroke</refname> <refpurpose>Choisit une couleur rgb comme couleur de dessin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setrgbcolor_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>red_value</parameter></paramdef> <paramdef>float <parameter>green_value</parameter></paramdef> <paramdef>float <parameter>blue_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de dessin, par la couleur rgb (<parameter>red_value</parameter>, <parameter>green_value</parameter>, <parameter>blue_value</parameter>). </para> <para> Voir aussi <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-show"> <refnamediv> <refname>cpdf_show</refname> <refpurpose>Imprime un texte à la position courante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_show</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_show</function> imprime la chaîne <parameter>text</parameter>, à la position courante. </para> <para> Voir aussi <function>cpdf_text</function>, <function>cpdf_begin_text</function> et <function>cpdf_end_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-show-xy"> <refnamediv> <refname>cpdf_show_xy</refname> <refpurpose>Affiche un texte à une position.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_show_xy</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>float <parameter>x-coor</parameter></paramdef> <paramdef>float <parameter>y-coor</parameter></paramdef> <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_show_xy</function> imprime la chaîne <parameter>text</parameter>, à la position de coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). Le dernier paramètre optionnel est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisé. <note> <simpara> The function <function>cpdf_show_xy</function> est identique à <function>cpdf_text</function> sans les options. </simpara> </note> </para> <para> Voir aussi <function>cpdf_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-stringwidth"> <refnamediv> <refname>cpdf_stringwidth</refname> <refpurpose>Retourne la taille de la chaîne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>cpdf_stringwidth</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_stringwidth</function> retourne la taille de la chaîne <parameter>text</parameter>. Une police doit avoir déjà été choisie. </para> <para> Voir aussi <function>cpdf_set_font</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-stroke"> <refnamediv> <refname>cpdf_stroke</refname> <refpurpose>Dessine une ligne le long du chemin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_stroke</function> dessine une ligne le long du chemin. </para> <para> Voir aussi <function>cpdf_closepath</function> et <function>cpdf_closepath_stroke</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-translate"> <refnamediv> <refname>cpdf_translate</refname> <refpurpose> Modifie l'origine du système de coordonnées. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_translate</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_translate</function> modifie l'origine du système de coordonnées en plaçant l'origine aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisé. </para> </refsect1> </refentry> <refentry id="function.cpdf-scale"> <refnamediv> <refname>cpdf_scale</refname> <refpurpose>Modifie l'échelle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_scale</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-scale</parameter></paramdef> <paramdef>float <parameter>y-scale</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_scale</function> modifie l'échelle dans les deux directions. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/ctype.xml diff -u phpdoc/fr/functions/ctype.xml:1.4 phpdoc/fr/functions/ctype.xml:1.5 --- phpdoc/fr/functions/ctype.xml:1.4 Sun Jul 8 09:01:22 2001 +++ phpdoc/fr/functions/ctype.xml Mon Nov 12 00:10:20 2001 @@ -1,273 +1 @@ - <reference id="ref.ctype"> - <title>Caractères</title> - <titleabbrev>ctype</titleabbrev> - - <partintro> - &warn.experimental; - <para> - Ces fonctions vérifient si un caractère ou une chaîne - de caractères font partie d'une certaine classe de - caractères, en fonction de la configuration locale. - </para> - <para> - Appelée avec un argument de type entier, ces fonctions - se comportent exactement comme le équivalent en langage C. - </para> - <para> - Appelée avec un argument de type chaîne, elles vérifieront - chaque caractère de la chaîne, et ne retourneront - &true; que si chaque caractère - de la chaîne satisfait les critères requis. - </para> - <para> - Tout autre type d'argument (autre que chaîne ou entier) - génère une erreur, et retourne &false; - immédiatement. - </para> - <warning> - <simpara> - Ces fonctions ont été ajoutée en PHP 4.0.4, et leur nom peut - changer dans un futur proche. Les suggestions actuelles sont : - <function>ctype_issomething</function> au lieu de - <function>ctype_somthing</function> ou encore d'en faire une partie - <filename>ext/standard</filename> et utiliser ainsi leur - nom en langage C, même si cela peut conduire à des confusions - entre <function>isset</function> et <function>is_sometype</function>. - </simpara> - </warning> - </partintro> - - <refentry id="function.ctype-alnum"> - <refnamediv> - <refname>ctype_alnum</refname> - <refpurpose>Vérifie qu'un caractère est alpha-numérique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_alnum</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - Voir aussi <function>setlocale</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-alpha"> - <refnamediv> - <refname>ctype_alpha</refname> - <refpurpose>Vérifie qu'un caractère est alphabétique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_alpha</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-cntrl"> - <refnamediv> - <refname>ctype_cntrl</refname> - <refpurpose>Vérifie qu'un caractère est un caractère de contrôle</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_cntrl</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-digit"> - <refnamediv> - <refname>ctype_digit</refname> - <refpurpose>Vérifie qu'un caractère est numérique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_digit</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-lower"> - <refnamediv> - <refname>ctype_lower</refname> - <refpurpose>Vérifie qu'un caractère est en minuscule</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_lower</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-graph"> - <refnamediv> - <refname>ctype_graph</refname> - <refpurpose>Vérifie qu'un caractère est imprimable (sauf " ", espace)</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_graph</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-print"> - <refnamediv> - <refname>ctype_print</refname> - <refpurpose>Vérifie qu'un caractère est imprimable</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_print</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-punct"> - <refnamediv> - <refname>ctype_punct</refname> - <refpurpose> - Vérifie qu'un caractère est imprimable, sans être ni un espace, - ni un caractère alpha-numérique - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_punct</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-space"> - <refnamediv> - <refname>ctype_space</refname> - <refpurpose>Vérifie qu'un caractère est caractère blanc (espace, tabulation...)</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_space</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-upper"> - <refnamediv> - <refname>ctype_upper</refname> - <refpurpose>Vérifie qu'un caractère est en majuscule</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_upper</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-xdigit"> - <refnamediv> - <refname>ctype_xdigit</refname> - <refpurpose> - Vérifie qu'un caractère représente un nombre héxadécimal - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_xdigit</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - </reference> - -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> - +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.5 $ --><reference id="ref.ctype"> <title>Caractères</title> <titleabbrev>ctype</titleabbrev> <partintro> <para> Ces fonctions vérifient si un caractère ou une chaîne de caractères font partie d'une certaine classe de caractères, en fonction de la configuration locale. </para> <para> Appelée avec un argument de type entier, ces fonctions se comportent exactement comme le équivalent en langage C. </para> <para> Appelée avec un argument de type chaîne, elles vérifieront chaque caractère de la chaîne, et ne retourneront <literal>TRUE</literal> que si chaque caractère de la chaîne satisfait les critères requis. </para> <para> Tout autre type d'argument (autre que chaîne ou entier) génère une erreur, et retourne <literal>FALSE</literal> immédiatement. </para> <warning> <simpara> Ces fonctions ont été ajoutée en PHP 4.0.4, et leur nom peut changer dans un futur proche. Les suggestions actuelles sont : <literal>ctype_issomething()</literal> au lieu de <literal>ctype_somthing</literal> ou encore d'en faire une partie <filename>ext/standard</filename> et utiliser ainsi leur nom en langage C, même si cela peut conduire à des confusions entre <function>isset</function> et <literal>is_sometype</literal>. </simpara> </warning> </partintro> <refentry id="function.ctype-alnum"> <refnamediv> <refname>ctype_alnum</refname> <refpurpose> Vérifie qu'un caractère est alpha-numérique </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_alnum</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Voir aussi <function>setlocale</function>. </para> </refsect1> </refentry> <refentry id="function.ctype-alpha"> <refnamediv> <refname>ctype_alpha</refname> <refpurpose> Vérifie qu'un caractère est alphabétique </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_alpha</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-cntrl"> <refnamediv> <refname>ctype_cntrl</refname> <refpurpose> Vérifie qu'un caractère est un caractère de contrôle </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_cntrl</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-digit"> <refnamediv> <refname>ctype_digit</refname> <refpurpose>Vérifie qu'un caractère est numérique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_digit</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-lower"> <refnamediv> <refname>ctype_lower</refname> <refpurpose>Vérifie qu'un caractère est en minuscule</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_lower</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-graph"> <refnamediv> <refname>ctype_graph</refname> <refpurpose> Vérifie qu'un caractère est imprimable (sauf " ", espace) </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_graph</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-print"> <refnamediv> <refname>ctype_print</refname> <refpurpose>Vérifie qu'un caractère est imprimable</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_print</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-punct"> <refnamediv> <refname>ctype_punct</refname> <refpurpose> Vérifie qu'un caractère est imprimable, sans être ni un espace, ni un caractère alpha-numérique </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_punct</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-space"> <refnamediv> <refname>ctype_space</refname> <refpurpose> Vérifie qu'un caractère est caractère blanc (espace, tabulation...) </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_space</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-upper"> <refnamediv> <refname>ctype_upper</refname> <refpurpose>Vérifie qu'un caractère est en majuscule</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_upper</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-xdigit"> <refnamediv> <refname>ctype_xdigit</refname> <refpurpose> Vérifie qu'un caractère représente un nombre héxadécimal </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_xdigit</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/curl.xml diff -u phpdoc/fr/functions/curl.xml:1.6 phpdoc/fr/functions/curl.xml:1.7 --- phpdoc/fr/functions/curl.xml:1.6 Wed Jul 25 15:34:32 2001 +++ phpdoc/fr/functions/curl.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <reference id="ref.curl"> <title>CURL</title> <titleabbrev>CURL</titleabbrev> @@ -104,7 +106,7 @@ </refentry> <refentry id="function.curl-setopt"> <refnamediv> - <refname>curl_init</refname> + <refname>curl_setopt</refname> <refpurpose>Modifie une option de transfert CURL</refpurpose> </refnamediv> <refsect1> Index: phpdoc/fr/functions/cybercash.xml diff -u phpdoc/fr/functions/cybercash.xml:1.5 phpdoc/fr/functions/cybercash.xml:1.6 --- phpdoc/fr/functions/cybercash.xml:1.5 Sat Jul 7 18:22:04 2001 +++ phpdoc/fr/functions/cybercash.xml Mon Nov 12 00:10:20 2001 @@ -1,110 +1 @@ - <reference id="ref.cybercash"> - <title>Paiement Cybercash</title> - <titleabbrev>Cybercash</titleabbrev> - <partintro> - <simpara> - Ces fonctions ne sont disponibles que si PHP a été - compilé avec l'option - <option role="configure">--with-cybercash=[DIR]</option>. Ces - fonctions ont été ajoutées dans PHP 4. - </simpara> - </partintro> - <refentry id="function.cybercash-encr"> - <refnamediv> - <refname>cybercash_encr</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>cybercash_encr</function></funcdef> - <paramdef>string <parameter>wmk</parameter></paramdef> - <paramdef>string <parameter>sk</parameter></paramdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cybercash_encr</function> retourne un tableau associatif, contenant - les éléments "errcode" et, si "errcode" vaut &false;, - "outbuff" (string), "outLth" (long) et "macbuff" (string). - </para> - </refsect1> - </refentry> - <refentry id="function.cybercash-decr"> - <refnamediv> - <refname>cybercash_decr</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>cybercash_decr</function></funcdef> - <paramdef>string <parameter>wmk</parameter></paramdef> - <paramdef>string <parameter>sk</parameter></paramdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cybercash_decr</function> retourne un tableau associatif, contenant - les éléments "errcode" et, si "errcode" vaut &false;, - "outbuff" (string), "outLth" (long) et "macbuff" (string). - </para> - </refsect1> - </refentry> - <refentry id="function.cybercash-base64-encode"> - <refnamediv> - <refname>cybercash_base64_encode</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>cybercash_base64_encode</function> - </funcdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - </para> - </refsect1> - </refentry> - <refentry id="function.cybercash-base64-decode"> - <refnamediv> - <refname>cybercash_base64_decode</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>cybercash_base64_decode</function> - </funcdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --> <reference id="ref.cybercash"> <title>Paiement Cybercash</title> <titleabbrev>Cybercash</titleabbrev> <partintro> <simpara> Ces fonctions ne sont disponibles que si PHP a été compilé avec l'option <option role="configure">--with-cybercash=[DIR]</option>. Ces fonctions ont été ajoutées dans PHP 4. </simpara> </partintro> <refentry id="function.cybercash-encr"> <refnamediv> <refname>cybercash_encr</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>cybercash_encr</function></funcdef> <paramdef>string <parameter>wmk</parameter></paramdef> <paramdef>string <parameter>sk</parameter></paramdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cybercash_encr</function> retourne un tableau associatif, contenant les éléments "errcode" et, si "errcode" vaut &false;, "outbuff" (string), "outLth" (long) et "macbuff" (string). </para> </refsect1> </refentry> <refentry id="function.cybercash-decr"> <refnamediv> <refname>cybercash_decr</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>cybercash_decr</function></funcdef> <paramdef>string <parameter>wmk</parameter></paramdef> <paramdef>string <parameter>sk</parameter></paramdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cybercash_decr</function> retourne un tableau associatif, contenant les éléments "errcode" et, si "errcode" vaut &false;, "outbuff" (string), "outLth" (long) et "macbuff" (string). </para> </refsect1> </refentry> <refentry id="function.cybercash-base64-encode"> <refnamediv> <refname>cybercash_base64_encode</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>cybercash_base64_encode</function> </funcdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.cybercash-base64-decode"> <refnamediv> <refname>cybercash_base64_decode</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>cybercash_base64_decode</function> </funcdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/datetime.xml diff -u phpdoc/fr/functions/datetime.xml:1.22 phpdoc/fr/functions/datetime.xml:1.23 --- phpdoc/fr/functions/datetime.xml:1.22 Fri Jul 20 14:28:44 2001 +++ phpdoc/fr/functions/datetime.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.23 $ --> <reference id="ref.datetime"> <title>Dates et heures</title> <titleabbrev>Date/heure</titleabbrev> @@ -18,8 +20,8 @@ </funcsynopsis> <para> <function>checkdate</function> retourne &true; - si la date - <parameter>day</parameter>/<parameter>month</parameter>/<parameter>year</parameter> + si la date représentée par le jour <parameter>day</parameter>, + le mois <parameter>month</parameter> et l'année <parameter>year</parameter> est valide, et sinon &false;. Notez bien que l'ordre des arguments n'est pas l'ordre français. La date est considérée comme valide si : @@ -66,10 +68,26 @@ </funcsynopsis> <para> <function>date</function> retourne une date sous forme d'une chaîne, au format - donné par la chaîne format. La date est fournie - sous la forme d'un <parameter>timestamp</parameter>. Par défaut, - la date courante est utilisée. + donné par la chaîne <parameter>format</parameter>. + La date est fournie par le paramètre <parameter>timestamp</parameter>, + sous la forme d'un timestamp. Par défaut, la date courante est + utilisée. </para> + <note> + <para> + L'intervalle de validité d'un timestamp va généralement du + Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. + (Ces dates correspondent aux valeurs minimales et maximales des + entiers 32 bits non-signés). + </para> + <para> + Pour générer un timestamp à partir d'une représentation de date, + pour pouvez utiliser la fonction <function>strtotime</function>. De plus, + certaines bases de données disposent de fonctions pour convertir leurs + propres formats de date en timestamps (comme par exemple, + MySQL et sa fonction UNIX_TIMESTAMP()). + </para> + </note> <para> Les caractères suivants sont utilisés pour spécifier le format : @@ -172,6 +190,11 @@ </listitem> <listitem> <simpara> + O - Différence d'heures avec l'heure de Greenwich, exprimée en heures; i.e. "+0200" + </simpara> + </listitem> + <listitem> + <simpara> r - Format de date RFC 822; i.e. "Thu, 21 Dec 2000 16:01:07 +0200" (ajouté en PHP 4.0.4) </simpara> @@ -235,8 +258,23 @@ <title>Exemple avec <function>date</function></title> <programlisting role="php"> <?php - print (date("l dS of F Y h:i:s A")); - print ("July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000))); + echo (date("l dS of F Y h:i:s A")); + echo ("Le 14 Juillet 2002 tombe un " . date("l", mktime(0,0,0,7,14,2002))); +?> + </programlisting> + </example> + </para> + <para> + Vous pouvez faire afficher un caractère spécial dans la chaîne de format + en le protégeant par un anti-slash. Si le caractère est lui-même une séquence + incluant un anti-slash, vous devrez protéger aussi l'anti-slash. + <example> + <title>Protection des caractères avec <function>date</function></title> + <programlisting role="php"> +<?php +echo date("l \\t\h\e jS"); +// affiche 'Saturday the 8th' +// \t représente une tabulation ?> </programlisting> </example> @@ -251,15 +289,22 @@ </title> <programlisting role="php"> <?php - $tomorrow = mktime(0,0,0,date("m") ,date("d") + 1,date("Y") ); - $lastmonth = mktime(0,0,0,date("m")-1,date("d") ,date("Y") ); - $nextyear = mktime(0,0,0,date("m"), date("d") ,date("Y") + 1); + $demain = mktime(0,0,0,date("m") ,date("d") + 1,date("Y") ); + $le_mois_dernier = mktime(0,0,0,date("m")-1,date("d") ,date("Y") ); + $l_an_prochain = mktime(0,0,0,date("m"), date("d") ,date("Y") + 1); ?> </programlisting> </example> </para> + <note> + <para> + Cette méthode est plus sûre que simplement ajouter ou retrancher + le nombre de secondes dans une journée ou un mois à un timestamp, + à cause des heures d'hivers et d'été. + </para> + </note> <para> - Voici maintenant quelques exemples de formatages avec + Voici maintenant quelques exemples de formatage avec <function>date</function>. Notez que vous devriez échapper tous les autres caractères, car s'ils ont une signification spéciale, ils risquent de produire des effets secondaires @@ -296,6 +341,9 @@ </para> <para> Voir aussi + <function>getlastmod</function>, + <function>time</function>, + <function>strftime</function>, <function>gmdate</function> et <function>mktime</function>. </para> @@ -455,8 +503,8 @@ <title>Exemple avec <function>gmdate</function></title> <programlisting role="php"> <?php - echo date("M d Y H:i:s", mktime (0,0,0,1,1,1998)); - echo gmdate("M d Y H:i:s", mktime (0,0,0,1,1,1998)); + echo date("M d Y H:i:s", mktime(0,0,0,1,1,1998)); + echo gmdate("M d Y H:i:s", mktime(0,0,0,1,1,1998)); ?> </programlisting> </example> @@ -464,6 +512,7 @@ <para> Voir aussi <function>date</function>, + <function>strftime</function>, <function>mktime</function> et <function>gmmktime</function>. </para> @@ -1011,6 +1060,7 @@ </para> <para> Voir aussi + <function>strftime</function>, <function>setlocale</function>, <function>mktime</function> et le <ulink url="&spec.strftime;">groupe de spécifications de strftime()</ulink>. Index: phpdoc/fr/functions/dbase.xml diff -u phpdoc/fr/functions/dbase.xml:1.6 phpdoc/fr/functions/dbase.xml:1.7 --- phpdoc/fr/functions/dbase.xml:1.6 Thu Aug 2 05:52:07 2001 +++ phpdoc/fr/functions/dbase.xml Mon Nov 12 00:10:20 2001 @@ -1,406 +1 @@ -<reference id="ref.dbase"> - <title>dBase</title> - <titleabbrev>dBase</titleabbrev> - <partintro> - <simpara> - Ces fonctions vous permettront d'accéder aux enregistrements - d'une base au format dBase (.dbf). - </simpara> - <simpara> - dBase ne permet pas l'utilisation d'index, de "memo fields", ni le blocage - de la base. Deux processus de serveurs web différents modifiant - le même fichier dBase risque de rendre votre base de - données incohérente. - </simpara> - <simpara> - Les fichiers dBase sont de simples fichiers séquentiels - d'enregistrements de longueur fixe. Les enregistrements sont - ajoutés à la fin du fichier et les enregistrements - supprimés sont conservés jusqu'à - l'appel de <function>dbase_pack</function>. - </simpara> - <simpara> - Nous vous recommandons de ne pas utiliser les fichiers dBase comme base - de données de production. Choisissez n'importe quel serveur SQL - à la place. MySQL et PostgresSQL sont des choix classiques avec - PHP. Le support de dBase ne se justifie ici que pour vous permettre - d'importer et d'exporter des données depuis et vers votre base des - données issues du web, car ce format de fichier est - communément accepté par les feuilles et - organiseurs Windows. L'import et l'export de données est l'unique - chose pour laquelle l'utilisation de dBase est recommandée. - </simpara> - </partintro> - <refentry id="function.dbase-create"> - <refnamediv> - <refname>dbase_create</refname> - <refpurpose>Crée une base de données dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_create</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>array <parameter>fields</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>fields</parameter> est un tableau de tableaux. Chaque tableau - décrit le format d'un fichier de la base. Chaque champs est - constitué d'un nom, d'un caractère de type de champs, - d'une longueur et d'une précision. - </para> - <para> - Les types de champs disponibles sont : - <variablelist> - <varlistentry> - <term>L</term> - <listitem> - <simpara> - Boolean (booléen). Pas de longueur ou de précision pour ces valeurs. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>M</term> - <listitem> - <simpara> - Memo. (Note importante : les Memos ne sont pas supportés par PHP.) - Elles n'ont pas de longueur ou de précision. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>D</term> - <listitem> - <simpara> - Date (enregistrée au format 'YYYYMMDD'). Elles n'ont pas de longueur ou - de précision. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>N</term> - <listitem> - <simpara> - Number (nombre). Possède une longueur et un précision (le nombre de - chiffres après la virgule). - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>C</term> - <listitem> - <simpara> - String (chaîne). - </simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - Si la base de données a été créée, - un identifiant de base dbase_identifier est retourné, sinon, - <literal>FALSE</literal> est retourné. - <example> - <title>Création d'une base dBase</title> - <programlisting role="php"> -<?php -// "database" name - $dbname = "/tmp/test.dbf"; -// database "definition" - $def = - array( - array("date", "D"), - array("name", "C", 50), - array("age", "N", 3, 0), - array("email", "C", 128), - array("ismember", "L") - ); -// création - if (!dbase_create($dbname, $def)) - print "<strong>Error!</strong>"; -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-open"> - <refnamediv> - <refname>dbase_open</refname> - <refpurpose>Ouverture d'une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_open</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>flags</parameter> est un flag, comme pour la fonction open(). - (Typiquement; 0 signifie lecture seule, 1 signifie écriture seule, et - 2 écriture/lecture). - </para> - <para> - <function>dbase_open</function> retourne un identifiant de base de - données, ou <literal>FALSE</literal> si la base n'a pas pu être - sélectionnée. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-close"> - <refnamediv> - <refname>dbase_close</refname> - <refpurpose>Ferme une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_close</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_close</function> ferme la base associée à - <parameter>dbase_identifier</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-pack"> - <refnamediv> - <refname>dbase_pack</refname> - <refpurpose>Compacte une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_pack</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_pack</function> compacte la base de données - <parameter>dbase_identifier</parameter> (effacement définitif - de tous les enregistrements marqués pour l'effacement, - avec la fonction <function>dbase_delete_record</function>). - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-add-record"> - <refnamediv> - <refname>dbase_add_record</refname> - <refpurpose>Ajoute un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_add_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>array <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_add_record</function> ajoute les données de - <parameter>record</parameter> dans la base spécifiée par - <parameter>dbase_identifier</parameter>. Si le nombre de colonnes fourni - n'est pas celui du nombre de champs dans la base, l'opération - échouera, et <literal>FALSE</literal> sera retourné. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-replace-record"> - <refnamediv> - <refname>dbase_replace_record</refname> - <refpurpose>Remplace un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_replace_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>array <parameter>record</parameter></paramdef> - <paramdef>int <parameter>dbase_record_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>dbase_replace_record</function> remplace les données - associées à l'enregistrement <parameter>record_number</parameter> - par les données enregistrées dans <parameter>record</parameter>. - Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, - l'opération échouera, et <literal>FALSE</literal> sera retourné. - </simpara> - <simpara> - <parameter>dbase_record_number</parameter> est un entier qui peut aller de 1 - jusqu'au nombre maximal d'enregistrement de la base (retourné par - <function>dbase_numrecords</function>). - </simpara> - </refsect1> - </refentry> - <refentry id="function.dbase-delete-record"> - <refnamediv> - <refname>dbase_delete_record</refname> - <refpurpose>Efface un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_delete_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>int <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_delete_record</function> marque l'enregistrement - <parameter>record</parameter> pour l'effacement, dans la base - <parameter>dbase_identifier</parameter>. Pour effacer réellement - l'enregistrement, il faut utiliser aussi <function>dbase_pack</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-get-record"> - <refnamediv> - <refname>dbase_get_record</refname> - <refpurpose>Lit un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>dbase_get_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>int <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_get_record</function> retourne les données de - l'enregistrement <parameter>record</parameter> dans un tableau. Le tableau est - indexé à partir de 0, et inclus un membre nommé 'deleted' - (effacé), qui sera mis à 1 si l'enregistrement a été - marqué pour l'effacement (voir <function>dbase_delete_record</function>). - </para> - <para> - Chaque champs est converti au format approprié PHP. (Les dates sont - laissées au format chaîne). - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-get-record-with-names"> - <refnamediv> - <refname>dbase_get_record_with_names</refname> - <refpurpose> - Lit un enregistrement dans une base, sous la forme d'un tableau associatif. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array - <function>dbase_get_record_with_names</function> - </funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>int <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>dbase_identifier</parameter> retourne les données - de l'enregistrement <parameter>record</parameter> - dans un tableau associatif. Le tableau inclus un membre nommé 'deleted' - (effacé), qui sera mis à 1 si l'enregistrement a - été marqué pour l'effacement (voir - <function>dbase_delete_record</function>). - </para> - <para> - Chaque champs est converti au format approprié PHP. (Les dates sont - laissées au format chaîne). - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-numfields"> - <refnamediv> - <refname>dbase_numfields</refname> - <refpurpose> - Compte le nombre de champs d'une base dBase. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_numfields</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_numfields</function> retourne le nombre de champs (colonnes) - de la base de données <parameter>dbase_identifier</parameter>. - Les numéros de champs sont numérotés de 0 à - dbase_numfields($db)-1, tandis que les numéros d'enregistrements - sont numérotés de 1 à dbase_numrecords($db). - <example> - <title>Utiliser <function>dbase_numfields</function></title> - <programlisting role="php"> -<?php - $rec = dbase_get_record($db, $recno); - $nf = dbase_numfields($db); - for ($i=0; $i < $nf; $i++) { - print $rec[$i]."<br>\n"; - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-numrecords"> - <refnamediv> - <refname>dbase_numrecords</refname> - <refpurpose> - Compter le nombre d'enregistrements dans une base dBase. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_numrecords</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_numrecords</function> retourne le nombre d'enregistrements - (lignes) dans la base <parameter>dbase_identifier</parameter>. - Les numéros de champs sont numérotés de 0 à - <literal>dbase_numfields($db)-1</literal>, tandis que les numéros - d'enregistrements sont numérotés de 1 à - <literal>dbase_numrecords($db)</literal>. - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.7 $ --><reference id="ref.dbase"> <title>dBase</title> <titleabbrev>dBase</titleabbrev> <partintro> <simpara> Ces fonctions vous permettront d'accéder aux enregistrements d'une base au format dBase (.dbf). </simpara> <simpara> dBase ne permet pas l'utilisation d'index, de "memo fields", ni le blocage de la base. Deux processus de serveurs web différents modifiant le même fichier dBase risque de rendre votre base de données incohérente. </simpara> <simpara> Les fichiers dBase sont de simples fichiers séquentiels d'enregistrements de longueur fixe. Les enregistrements sont ajoutés à la fin du fichier et les enregistrements supprimés sont conservés jusqu'à l'appel de <function>dbase_pack</function>. </simpara> <simpara> Nous vous recommandons de ne pas utiliser les fichiers dBase comme base de données de production. Choisissez n'importe quel serveur SQL à la place. MySQL et PostgresSQL sont des choix classiques avec PHP. Le support de dBase ne se justifie ici que pour vous permettre d'importer et d'exporter des données depuis et vers votre base des données issues du web, car ce format de fichier est communément accepté par les feuilles et organiseurs Windows. L'import et l'export de données est l'unique chose pour laquelle l'utilisation de dBase est recommandée. </simpara> </partintro> <refentry id="function.dbase-create"> <refnamediv> <refname>dbase_create</refname> <refpurpose>Crée une base de données dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_create</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>array <parameter>fields</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>fields</parameter> est un tableau de tableaux. Chaque tableau décrit le format d'un fichier de la base. Chaque champs est constitué d'un nom, d'un caractère de type de champs, d'une longueur et d'une précision. </para> <para> Les types de champs disponibles sont : <variablelist> <varlistentry> <term>L</term> <listitem> <simpara> Boolean (booléen). Pas de longueur ou de précision pour ces valeurs. </simpara> </listitem> </varlistentry> <varlistentry> <term>M</term> <listitem> <simpara> Memo. (Note importante : les Memos ne sont pas supportés par PHP.) Elles n'ont pas de longueur ou de précision. </simpara> </listitem> </varlistentry> <varlistentry> <term>D</term> <listitem> <simpara> Date (enregistrée au format 'YYYYMMDD'). Elles n'ont pas de longueur ou de précision. </simpara> </listitem> </varlistentry> <varlistentry> <term>N</term> <listitem> <simpara> Number (nombre). Possède une longueur et un précision (le nombre de chiffres après la virgule). </simpara> </listitem> </varlistentry> <varlistentry> <term>C</term> <listitem> <simpara> String (chaîne). </simpara> </listitem> </varlistentry> </variablelist> </para> <para> Si la base de données a été créée, un identifiant de base dbase_identifier est retourné, sinon, <literal>FALSE</literal> est retourné. <example> <title>Création d'une base dBase</title> <programlisting role="php"><?php// "database" name $dbname = "/tmp/test.dbf";// database "definition" $def = array( array("date", "D"), array("name", "C", 50), array("age", "N", 3, 0), array("email", "C", 128), array("ismember", "L") );// création if (!dbase_create($dbname, $def)) print "<strong>Erreur!</strong>";?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dbase-open"> <refnamediv> <refname>dbase_open</refname> <refpurpose>Ouverture d'une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_open</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter>flags</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>flags</parameter> est un flag, comme pour la fonction open(). (Typiquement; 0 signifie lecture seule, 1 signifie écriture seule, et 2 écriture/lecture). </para> <para> <function>dbase_open</function> retourne un identifiant de base de données, ou <literal>FALSE</literal> si la base n'a pas pu être sélectionnée. </para> ¬e.sm.uidcheck; </refsect1> </refentry> <refentry id="function.dbase-close"> <refnamediv> <refname>dbase_close</refname> <refpurpose>Ferme une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_close</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_close</function> ferme la base associée à <parameter>dbase_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbase-pack"> <refnamediv> <refname>dbase_pack</refname> <refpurpose>Compacte une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_pack</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_pack</function> compacte la base de données <parameter>dbase_identifier</parameter> (effacement définitif de tous les enregistrements marqués pour l'effacement, avec la fonction <function>dbase_delete_record</function>). </para> </refsect1> </refentry> <refentry id="function.dbase-add-record"> <refnamediv> <refname>dbase_add_record</refname> <refpurpose>Ajoute un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_add_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>array <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_add_record</function> ajoute les données de <parameter>record</parameter> dans la base spécifiée par <parameter>dbase_identifier</parameter>. Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, l'opération échouera, et <literal>FALSE</literal> sera retourné. </para> </refsect1> </refentry> <refentry id="function.dbase-replace-record"> <refnamediv> <refname>dbase_replace_record</refname> <refpurpose>Remplace un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_replace_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>array <parameter>record</parameter></paramdef> <paramdef>int <parameter>dbase_record_number</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>dbase_replace_record</function> remplace les données associées à l'enregistrement <parameter>record_number</parameter> par les données enregistrées dans <parameter>record</parameter>. Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, l'opération échouera, et <literal>FALSE</literal> sera retourné. </simpara> <simpara> <parameter>dbase_record_number</parameter> est un entier qui peut aller de 1 jusqu'au nombre maximal d'enregistrement de la base (retourné par <function>dbase_numrecords</function>). </simpara> </refsect1> </refentry> <refentry id="function.dbase-delete-record"> <refnamediv> <refname>dbase_delete_record</refname> <refpurpose>Efface un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_delete_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>int <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_delete_record</function> marque l'enregistrement <parameter>record</parameter> pour l'effacement, dans la base <parameter>dbase_identifier</parameter>. Pour effacer réellement l'enregistrement, il faut utiliser aussi <function>dbase_pack</function>. </para> </refsect1> </refentry> <refentry id="function.dbase-get-record"> <refnamediv> <refname>dbase_get_record</refname> <refpurpose>Lit un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>dbase_get_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>int <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_get_record</function> retourne les données de l'enregistrement <parameter>record</parameter> dans un tableau. Le tableau est indexé à partir de 0, et inclus un membre nommé 'deleted' (effacé), qui sera mis à 1 si l'enregistrement a été marqué pour l'effacement (voir <function>dbase_delete_record</function>). </para> <para> Chaque champs est converti au format approprié PHP. (Les dates sont laissées au format chaîne). </para> </refsect1> </refentry> <refentry id="function.dbase-get-record-with-names"> <refnamediv> <refname>dbase_get_record_with_names</refname> <refpurpose> Lit un enregistrement dans une base, sous la forme d'un tableau associatif. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>dbase_get_record_with_names</function> </funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>int <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>dbase_identifier</parameter> retourne les données de l'enregistrement <parameter>record</parameter> dans un tableau associatif. Le tableau inclus un membre nommé 'deleted' (effacé), qui sera mis à 1 si l'enregistrement a été marqué pour l'effacement (voir <function>dbase_delete_record</function>). </para> <para> Chaque champs est converti au format approprié PHP. (Les dates sont laissées au format chaîne). </para> </refsect1> </refentry> <refentry id="function.dbase-numfields"> <refnamediv> <refname>dbase_numfields</refname> <refpurpose> Compte le nombre de champs d'une base dBase. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_numfields</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_numfields</function> retourne le nombre de champs (colonnes) de la base de données <parameter>dbase_identifier</parameter>. Les numéros de champs sont numérotés de 0 à dbase_numfields($db)-1, tandis que les numéros d'enregistrements sont numérotés de 1 à dbase_numrecords($db). <example> <title>Utiliser <function>dbase_numfields</function></title> <programlisting role="php"><?php $rec = dbase_get_record($db, $recno); $nf = dbase_numfields($db); for ($i=0; $i < $nf; $i++) { print $rec[$i]."<br>\n"; }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dbase-numrecords"> <refnamediv> <refname>dbase_numrecords</refname> <refpurpose> Compter le nombre d'enregistrements dans une base dBase. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_numrecords</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_numrecords</function> retourne le nombre d'enregistrements (lignes) dans la base <parameter>dbase_identifier</parameter>. Les numéros de champs sont numérotés de 0 à <literal>dbase_numfields($db)-1</literal>, tandis que les numéros d'enregistrements sont numérotés de 1 à <literal>dbase_numrecords($db)</literal>. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/dbm.xml diff -u phpdoc/fr/functions/dbm.xml:1.6 phpdoc/fr/functions/dbm.xml:1.7 --- phpdoc/fr/functions/dbm.xml:1.6 Thu Aug 2 05:53:25 2001 +++ phpdoc/fr/functions/dbm.xml Mon Nov 12 00:10:20 2001 @@ -1,307 +1 @@ -<reference id="ref.dbm"> - <title>DBM</title> - <titleabbrev>DBM</titleabbrev> - <partintro> - <simpara> - Ces fonctions vous permettent d'écrire des lignes dans une - base de données de type dbm. Ce type de base (supporté - par Berkeley db, gdbm, et quelques librairies systèmes, - ou certaines librairies du système d'exploitation) enregistre - les paires clés/valeurs, (contrairement aux enregistrements - par ligne, utilisé par les autres bases de données - relationnelles). - </simpara> - <para> - <example> - <title>Présentation de dbm</title> - <programlisting role="php"> -<?php - $dbm = dbmopen("dernier", "w"); - if (dbmexists($dbm, $userid)) { - $last_seen = dbmfetch($dbm, $userid); - } else { - dbminsert($dbm, $userid, time()); - } - faire_quelquechose(); - dbmreplace($dbm, $userid, time()); - dbmclose($dbm); -?> - </programlisting> - </example> - </para> - </partintro> - <refentry id="function.dbmopen"> - <refnamediv> - <refname>dbmopen</refname> - <refpurpose>Ouvre une base de données dbm</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>dbmopen</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>string <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Le premier argument est le chemin absolu jusqu'au fichier dbm à - ouvrir. Le deuxième argument est le mode d'ouverture du fichier, - qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui - représentent respectivement lecture seule, nouveau (ce qui - implique lecture/écriture, et qui, probablement, va - écraser une base existante), création(ce qui - implique lecture/écriture, et qui, probablement, va - écraser une base existante), et lecture/écriture. - </para> - <para> - <function>dbmopen</function> retourne un identifiant, qui - sera passé à toutes les autres fonctions dbm, - en cas de succès, ou <literal>FALSE</literal> en - cas d'échec. - </para> - <para> - Si ndbm est utilisé, ndbm va créer les fichiers - <filename>filename.dir</filename> et <filename>filename.pag</filename>. - gdbm n'utilise qu'un fichier, tout comme les librairies internes, - et Berkeley db crée - le fichier <filename>filename.db</filename>. Notez que PHP - dispose de son propre système de verrouillage des - fichiers, qui s'additionne à celui éventuellement - utilisé par les librairies. PHP n'efface jamais les fichiers - <filename>.lck</filename> qu'il crée. Il les utilise comme - inode fixe, sur lequel faire le verrouillage. - Pour plus d'informations sur les fichiers dbm, reportez-vous - à vos pages de manuel Unix (man) , ou bien chargez gdbm : - <filename role="url">ftp://prep.ai.mit.edu/pub/gnu</filename>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmclose"> - <refnamediv> - <refname>dbmclose</refname> - <refpurpose>Ferme une base de données dbm.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmclose</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmclose</function> déverrouille et - ferme la base de données <parameter>dbm_identifier</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmexists"> - <refnamediv> - <refname>dbmexists</refname> - <refpurpose>Indique si une valeur existe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmexists</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmexists</function> retourne <literal>TRUE</literal> - s'il y a une valeur associée à la clé - <parameter>key</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmfetch"> - <refnamediv> - <refname>dbmfetch</refname> - <refpurpose>Lit une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbmfetch</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmfetch</function> retourne la valeur associée - à la clé <parameter>key</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbminsert"> - <refnamediv> - <refname>dbminsert</refname> - <refpurpose>Insère une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbminsert</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - <paramdef>string <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbminsert</function> ajoute la valeur - <parameter>value</parameter> dans la base de - données, avec la clé <parameter>key</parameter>. - </para> - <para> - <function>dbminsert</function> retourne -1 si la base a - été ouverte en mode lecture - seule, 0 si l'insertion a été réussie, et 1 si - la clé key existe déjà. (Pour remplacer la - valeur, utilisez <function>dbmreplace</function>.) - </para> - </refsect1> - </refentry> - <refentry id="function.dbmreplace"> - <refnamediv> - <refname>dbmreplace</refname> - <refpurpose>Remplace une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmreplace</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - <paramdef>string <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmreplace</function> remplace la valeur courante par - la valeur <parameter>value</parameter> pour la clé - <parameter>key</parameter>, dans une base <parameter>dbm_identifier</parameter>. - </para> - <para> - <function>dbmreplace</function> crée la clé, si elle n'existe pas - dans la base. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmdelete"> - <refnamediv> - <refname>dbmdelete</refname> - <refpurpose>Efface une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmdelete</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmdelete</function> efface la valeur de la clé - <parameter>key</parameter>, dans la base <parameter>dbm_identifier</parameter>. - </para> - <para> - <function>dbmdelete</function> retourne <literal>FALSE</literal> - si la clé n'existe pas dans cette base. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmfirstkey"> - <refnamediv> - <refname>dbmfirstkey</refname> - <refpurpose>Lit la première clé.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbmfirstkey</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmfirstkey</function> retourne la première - clé de la base de données. Notez bien que les - clés ne sont pas dans un ordre défini, - étant donné que la table est construite comme un tableau - associatif. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmnextkey"> - <refnamediv> - <refname>dbmnextkey</refname> - <refpurpose>Lit la clé suivante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbmnextkey</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmnextkey</function> retourne la clé après la clé - <parameter>key</parameter>. En appelant <function>dbmfirstkey</function>, - puis successivement <function>dbmnextkey</function>, il est - possible de passer en revue toute les paires clé/valeur - de la base de données dbm. Par exemple : - <example> - <title>Passer en revue une base de données.</title> - <programlisting role="php"> -<?php - $cle = dbmfirstkey($dbm_id); - while ($cle){ - echo "$cle = " . dbmfetch($dbm_id, $cle) . "\n"; - $cle = dbmnextkey($dbm_id, $cle); - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dblist"> - <refnamediv> - <refname>dblist</refname> - <refpurpose>Décrit la librairie dbm utilisée.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dblist</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.7 $ --><reference id="ref.dbm"> <title>DBM</title> <titleabbrev>DBM</titleabbrev> <partintro> <simpara> Ces fonctions vous permettent d'écrire des lignes dans une base de données de type dbm. Ce type de base (supporté par Berkeley db, gdbm, et quelques librairies systèmes, ou certaines librairies du système d'exploitation) enregistre les paires clés/valeurs, (contrairement aux enregistrements par ligne, utilisé par les autres bases de données relationnelles). </simpara> <para> <example> <title>Présentation de dbm</title> <programlisting role="php"><?php $dbm = dbmopen("dernier", "w"); if (dbmexists($dbm, $userid)) { $last_seen = dbmfetch($dbm, $userid); } else { dbminsert($dbm, $userid, time()); } faire_quelquechose(); dbmreplace($dbm, $userid, time()); dbmclose($dbm);?> </programlisting> </example> </para> </partintro> <refentry id="function.dbmopen"> <refnamediv> <refname>dbmopen</refname> <refpurpose>Ouvre une base de données dbm</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>dbmopen</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>string <parameter>flags</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Le premier argument est le chemin absolu jusqu'au fichier dbm à ouvrir. Le deuxième argument est le mode d'ouverture du fichier, qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui représentent respectivement lecture seule, nouveau (ce qui implique lecture/écriture, et qui, probablement, va écraser une base existante), création(ce qui implique lecture/écriture, et qui, probablement, va écraser une base existante), et lecture/écriture. </para> <para> <function>dbmopen</function> retourne un identifiant, qui sera passé à toutes les autres fonctions dbm, en cas de succès, ou <literal>FALSE</literal> en cas d'échec. </para> <para> Si ndbm est utilisé, ndbm va créer les fichiers <filename>filename.dir</filename> et <filename>filename.pag</filename>. gdbm n'utilise qu'un fichier, tout comme les librairies internes, et Berkeley db crée le fichier <filename>filename.db</filename>. Notez que PHP dispose de son propre système de verrouillage des fichiers, qui s'additionne à celui éventuellement utilisé par les librairies. PHP n'efface jamais les fichiers <filename>.lck</filename> qu'il crée. Il les utilise comme inode fixe, sur lequel faire le verrouillage. Pour plus d'informations sur les fichiers dbm, reportez-vous à vos pages de manuel Unix (man) , ou bien chargez gdbm : <filename role="url">ftp://prep.ai.mit.edu/pub/gnu</filename>. </para> </refsect1> </refentry> <refentry id="function.dbmclose"> <refnamediv> <refname>dbmclose</refname> <refpurpose>Ferme une base de données dbm.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbmclose</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmclose</function> déverrouille et ferme la base de données <parameter>dbm_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbmexists"> <refnamediv> <refname>dbmexists</refname> <refpurpose>Indique si une valeur existe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbmexists</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmexists</function> retourne <literal>TRUE</literal> s'il y a une valeur associée à la clé <parameter>key</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbmfetch"> <refnamediv> <refname>dbmfetch</refname> <refpurpose>Lit une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbmfetch</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmfetch</function> retourne la valeur associée à la clé <parameter>key</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbminsert"> <refnamediv> <refname>dbminsert</refname> <refpurpose>Insère une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbminsert</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> <paramdef>string <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbminsert</function> ajoute la valeur <parameter>value</parameter> dans la base de données, avec la clé <parameter>key</parameter>. </para> <para> <function>dbminsert</function> retourne -1 si la base a été ouverte en mode lecture seule, 0 si l'insertion a été réussie, et 1 si la clé key existe déjà. (Pour remplacer la valeur, utilisez <function>dbmreplace</function>.) </para> </refsect1> </refentry> <refentry id="function.dbmreplace"> <refnamediv> <refname>dbmreplace</refname> <refpurpose>Remplace une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbmreplace</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> <paramdef>string <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmreplace</function> remplace la valeur courante par la valeur <parameter>value</parameter> pour la clé <parameter>key</parameter>, dans une base <parameter>dbm_identifier</parameter>. </para> <para> <function>dbmreplace</function> crée la clé, si elle n'existe pas dans la base. </para> </refsect1> </refentry> <refentry id="function.dbmdelete"> <refnamediv> <refname>dbmdelete</refname> <refpurpose>Efface une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbmdelete</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmdelete</function> efface la valeur de la clé <parameter>key</parameter>, dans la base <parameter>dbm_identifier</parameter>. </para> <para> <function>dbmdelete</function> retourne <literal>FALSE</literal> si la clé n'existe pas dans cette base. </para> </refsect1> </refentry> <refentry id="function.dbmfirstkey"> <refnamediv> <refname>dbmfirstkey</refname> <refpurpose>Lit la première clé.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbmfirstkey</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmfirstkey</function> retourne la première clé de la base de données. Notez bien que les clés ne sont pas dans un ordre défini, étant donné que la table est construite comme un tableau associatif. </para> </refsect1> </refentry> <refentry id="function.dbmnextkey"> <refnamediv> <refname>dbmnextkey</refname> <refpurpose>Lit la clé suivante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbmnextkey</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmnextkey</function> retourne la clé après la clé <parameter>key</parameter>. En appelant <function>dbmfirstkey</function>, puis successivement <function>dbmnextkey</function>, il est possible de passer en revue toute les paires clé/valeur de la base de données dbm. Par exemple : <example> <title>Passer en revue une base de données.</title> <programlisting role="php"><?php $cle = dbmfirstkey($dbm_id); while ($cle){ echo "$cle = " . dbmfetch($dbm_id, $cle) . "\n"; $cle = dbmnextkey($dbm_id, $cle); }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dblist"> <refnamediv> <refname>dblist</refname> <refpurpose>Décrit la librairie dbm utilisée.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dblist</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/dbx.xml diff -u phpdoc/fr/functions/dbx.xml:1.3 phpdoc/fr/functions/dbx.xml:1.4 --- phpdoc/fr/functions/dbx.xml:1.3 Sun Jul 8 09:01:22 2001 +++ phpdoc/fr/functions/dbx.xml Mon Nov 12 00:10:20 2001 @@ -1,557 +1 @@ - <reference id="ref.dbx"> - <title>dbx</title> - <titleabbrev>dbx</titleabbrev> - <partintro> - &warn.experimental; - <simpara> - Le module dbx est un module d'abstraction de base de données - (db pour database (base de données) et 'X' pour toutes les - bases supportées). Les fonctions dbx vous permettent d'accéder - à toutes les bases supportées, avec la même convention. Pour cela - il vous faut avoir ces fonctions compilées avec PHP (option - de configuration <option role="configure">--enable-dbx</option> - et toutes les bases que vous souhaitez utiliser. Par exemple, si - vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer - PHP avec - <link linkend="install.configure.with-mysql"><option role="configure">--with-mysql</option></link>. - Les fonctions dbx n'interface pas directement les bases de - données, mais utilise les modules de support de ces bases. - Pour pouvoir utiliser une base avec le module dbx, il vous - faut l'avoir configuré avec PHP, ou bien la charger - dynamiquement. Actuellement les bases MySQL, PostgreSQL et - ODBC sont supportées, mais d'autres suivront bientôt (j'espère). - </simpara> - <simpara> - La documentation complémentaire (ajout de nouvelles bases à dbx) est - accessible à <ulink url="&url.dbx.docs;">&url.dbx.docs;</ulink>. - </simpara> - </partintro> - - <refentry id="function.dbx-close"> - <refnamediv> - <refname>dbx_close</refname> - <refpurpose>Ferme une connexion à une base</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbx_close</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_close</function> retourne &true; en cas - de succès, et &false; en cas d'erreur. - </para> - <example> - <title>Exemple avec <function>dbx_close</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -print("Connexion réussie"); -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - <para> - Voir aussi - <function>dbx_connect</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-connect"> - <refnamediv> - <refname>dbx_connect</refname> - <refpurpose>Ouvre une connexion à une base de données</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>dbx_connect</function></funcdef> - <paramdef>string <parameter>module</parameter></paramdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>string <parameter>database</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>int - <parameter><optional>persistent</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_connect</function> retourne une resource dbx_link_object - en cas de succès, &false; sinon. Si la connexion a - put être établie, mais que la base de données n'a pas pu - être selectionnée, la fonction retournera quand même une ressource. - Le paramètre <parameter>persistent</parameter> peut prendre la - valeur DBX_PERSISTENT, pour créer une connexion persitante. - </para> - <para> - Les valeurs possibles de <parameter>module</parameter> sont - les suivantes (n'oubliez pas que cela fonctionnera que si - le module associé est chargé): - </para> - <para> - <itemizedlist> - <listitem> - <simpara> - module 1: "mysql" - </simpara> - </listitem> - <listitem> - <simpara> - module 2: "odbc" - </simpara> - </listitem> - <listitem> - <simpara> - module 3: "pgsql" - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Le support de pgsql est au stade expérimental, et vous devez - compiler vous-même le module pgsql après avoir modifié un - des fichiers sources. Sinon, vous aurez une alerte affichée - à chaque requête. - </para> - <para> - La ressource dbx_link_object a trois membres : 'handle', 'module' et - 'database'. Le membre 'database' contient le nom de la base de données - actuellement selectionnée. Le membre 'module' est à usage interne à - dbx, et contient le numéro de module sus-cité. Le membre - 'handle' est une resource valide de connexion à la base de données, - et peut être utilisé en tant que tel dans les autres fonctions - spécifiques à cette base de données. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe"); -mysql_close($link->handle); -// dbx_close($link) est beaucoup plus adapté ici -?> - </programlisting> - </informalexample> - </para> - <para> - Les paramètres <parameter>host</parameter>, <parameter>database</parameter>, - <parameter>username</parameter> et <parameter>password</parameter> sont - attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion - de la base de données utilisée. - </para> - <para> - <example> - <title>Exemple avec <function>dbx_connect</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe", DBX_PERSISTENT) - or die ("Impossible de se connecter"); -print ("Connexion réussie"); -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - </para> - <para> - Voir aussi - <function>dbx_close</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-error"> - <refnamediv> - <refname>dbx_error</refname> - <refpurpose> - Rapporte le message d'erreur du dernier appel de fonction - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbx_error</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_error</function> retourne une chaîne contenant le - message d'erreur du module sélectionné. S'il y a des connexions - multiples sur le même module, seule la dernière erreur est fournie. - S'il a des des connexions sur différents modules, la dernière - erreur du module est retourné (le module est alors représenté par - <parameter>link_identifier</parameter>). Notez que le module - ODBC ne supporte pas encore cette fonction. - </para> - <example> - <title>Exemple avec <function>dbx_error</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "select id from nonexistingtbl"); -if ($result==0) { - echo dbx_error($link); -} -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - </refsect1> - </refentry> - - <refentry id="function.dbx-query"> - <refnamediv> - <refname>dbx_query</refname> - <refpurpose>Envoie une requête et lit tous les résultats</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>dbx_query</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>sql_statement</parameter></paramdef> - <paramdef>long - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_query</function> retourne une resource - dbx_result_object ou 1 en cas de succès (un objet de résultat - ne sera retourné que pour les requêtes SQL qui retournent un - résultat), ou 0 en cas d'erreur. Le paramètre - <parameter>flags</parameter> sert à contrôler la quantité - d'informations retournée. Il peut être n'importe quelle - combinaisons par OR des constantes : DBX_RESULT_INFO, - DBX_RESULT_INDEX, DBX_RESULT_ASSOC. DBX_RESULT_INFO fournit - des informations sur les colonnes, comme les noms des champs - et leur type. DBX_RESULT_INDEX retourne le résultat dans un - tableau indexé (par exemple, data[2][3], où 2 est le numéro - de ligne et 3 est le numéro de colonne), dont la première - colonne est indexée à 0. DBX_RESULT_ASSOC associe les noms - de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est - toujours retourné, indépendamment de la valeur de - <parameter>flags</parameter>. Si DBX_RESULT_ASSOC est spécifié, - DBX_RESULT_INFO est aussi retourné, même s'il n'a pas été - spécifié. Ce qui signifie que les seules combinaisons envisageables - sont - DBX_RESULT_INDEX, - DBX_RESULT_INDEX | DBX_RESULT_INFO et - DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC. La dernière - combinaison est la valeur par défaut de <parameter>flags</parameter>. - Les résultats associés sont en fait des références, ce qui fait que - modifier <literal>data[0][0]</literal>, revient à modifier - <literal>data[0]['fieldnameforfirstcolumn']</literal>. - </para> - <para> - Un objet dbx_result_object a 5 membres (éventuellement 4, suivants - les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows', - 'info' (optionnel) et 'data'. Handle est un identifiant de résultat, - qui peut être utilisé avec les fonctions spécifiques à son module. - Par exemple : - </para> - <para> - <informalexample role="php"> - <programlisting> -<?php -$result = dbx_query($link, "SELECT id FROM tbl"); -mysql_field_len($result->handle, 0); -?> - </programlisting> - </informalexample> - </para> - <para> - Les membres cols et rows contiennent les numéros de colonne et de - champs. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -$result = dbx_query($link, "SELECT id FROM tbl"); -echo "Taille du résultat: " . $result->rows . " x " . $result->cols . "<br>\n"; -?> - </programlisting> - </informalexample> - </para> - <para> - Le membre info n'est retourné que si DBX_RESULT_INFO et/ou - DBX_RESULT_ASSOC sont spécifié dans le paramètre <parameter>flags</parameter>. - C'est un deuxième tableau, qui possède deux lignes ("name" and "type"), - pour connaître les informations sur les colonnes. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -$result = dbx_query($link, "SELECT id FROM tbl"); -echo "Nom de la colonne : " . $result->info["name"][0] . "<br>\n"; -echo "Type de la colonne: " . $result->info["type"][0] . "<br>\n"; -?> - </programlisting> - </informalexample> - </para> - <para> - Le membre data contient les données effectivement lues, - éventuellement associées à des noms de colonnes. Si - DBX_RESULT_ASSOC est utilisé, il est possible d'utiliser - <literal>$result->data[2]["fieldname"]</literal>. - </para> - <example> - <title>Exemple avec <function>dbx_query</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl"); -if ($result==0) echo "La requête a échoué\n<br>"; -elseif ($result==1) { - echo "La requête a réussie\n<br>"; -} else { - $rows=$result->rows; - $cols=$result->cols; - echo "<p>table dimension: {$result->rows} x {$result->cols}<br><table border=1>\n"; - echo "<tr>"; - for ($col=0; $col<$cols; ++$col) { - echo "<td>-{$result->info["name"][$col]}-<br>-{$result->info["type"][$col]}-</td>"; - } - echo "</tr>\n"; - for ($row=0; $row<$rows; ++$row){ - echo "<tr>"; - for ($col=0; $col<$cols; ++$col) { - echo "<td>-{$result->data[$row][$col]}-</td>"; - } - echo "</tr>\n"; - } - echo "</table><p>\n"; - echo "table dimension: {$result->rows} x id, parentid, description<br><table border=1>\n"; - for ($row=0; $row<$rows; ++$row) { - echo "<tr>"; - echo "<td>-{$result->data[$row]["id"]}-</td>"; - echo "<td>-{$result->data[$row]["parentid"]}-</td>"; - echo "<td>-{$result->data[$row]["description"]}-</td>"; - echo "</tr>\n"; - } - echo "</table><p>\n"; -} -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - <para> - Voir aussi - <function>dbx_connect</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-sort"> - <refnamediv> - <refname>dbx_sort</refname> - <refpurpose> - Tri un résultat avec une fonction utilisateur - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbx_sort</function></funcdef> - <paramdef>dbx_result_object <parameter>result</parameter></paramdef> - <paramdef>string - <parameter>user_compare_function</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_sort</function> retourne &true; - en cas de succès, et &false; sinon. - </para> - <example> - <title>Exemple avec <function>dbx_sort</function></title> - <programlisting role="php"> -<?php -function user_re_order ($a, $b) { - $rv = dbx_cmp_asc($a, $b, "parentid"); - if (!$rv) $rv = dbx_cmp_asc($a, $b, "id"); - return $rv; -} - -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); -echo "Les données sont maintenant triées par id<br>"; -dbx_query($result, "user_re_order"); -echo "Les données sont maintenant triées par parentid, puis par id<br>"; -dbx_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>dbx_cmp_asc</function> et - <function>dbx_cmp_desc</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-cmp-asc"> - <refnamediv> - <refname>dbx_cmp_asc</refname> - <refpurpose>Compare deux lignes pour tri croissant</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbx_cmp_asc</function></funcdef> - <paramdef>array <parameter>row_a</parameter></paramdef> - <paramdef>array <parameter>row_b</parameter></paramdef> - <paramdef>string <parameter>columnname_or_index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_cmp_asc</function> retourne 0 si row_a[$columnname_or_index] - est égal à row_b[$columnname_or_index], 1 si elle est plus grande et - -1 si elle est plus petite. - </para> - <example> - <title>Exemple avec <function>dbx_cmp_asc</function></title> - <programlisting role="php"> -<?php -function user_re_order($a, $b) { - $rv = dbx_cmp_asc($a, $b, "parentid"); - if (!$rv) { - $rv = dbx_cmp_asc($a, $b, "id"); - return $rv; - } -} - -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); -echo "Les données sont maintenant triées par id<br>"; -dbx_query($result, "user_re_order"); -echo "Les données sont maintenant triées par parentid, puis par id<br>"; -dbx_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>dbx_sort</function> et - <function>dbx_cmp_desc</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-cmp-desc"> - <refnamediv> - <refname>dbx_cmp_desc</refname> - <refpurpose>Compare deux lignes pour tri décroissant</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbx_cmp_desc</function></funcdef> - <paramdef>array <parameter>row_a</parameter></paramdef> - <paramdef>array <parameter>row_b</parameter></paramdef> - <paramdef>string - <parameter>columnname_or_index</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbx_cmp_desc</function> retourne 0 si row_a[$columnname_or_index] - est égal à row_b[$columnname_or_index], 1 si elle est plus grande et - -1 si elle est plus petite. - </para> - <example> - <title>Exemple avec <function>dbx_cmp_desc</function></title> - <programlisting role="php"> -<?php -function user_re_order ($a, $b) { - $rv = dbx_cmp_asc($a, $b, "parentid"); - if (!$rv) { - $rv = dbx_cmp_asc($a, $b, "id"); - return $rv; - } -} - -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); -echo "Les données sont maintenant triées par id<br>"; -dbx_query($result, "user_re_order"); -echo "Les données sont maintenant triées par parentid, puis par id<br>"; -dbx_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>dbx_sort</function> et - <function>dbx_cmp_asc</function>. - </para> - </refsect1> - </refentry> - - </reference> - -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.4 $ --><reference id="ref.dbx"> <title>dbx</title> <titleabbrev>dbx</titleabbrev> <partintro> &warn.experimental; <simpara> Le module dbx est un module d'abstraction de base de données (db pour database (base de données) et 'X' pour toutes les bases supportées). Les fonctions dbx vous permettent d'accéder à toutes les bases supportées, avec la même convention. Pour cela il vous faut avoir ces fonctions compilées avec PHP (option de configuration <link linkend="install.configure.enable-dbx"><option role="configure">--enable-dbx</option></link> et toutes les bases que vous souhaitez utiliser. Par exemple, si vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer PHP avec <link linkend="install.configure.with-mysql"><option role="install.configure.with-mysql">--with-mysql</option></link>. Les fonctions dbx n'interface pas directement les bases de données, mais utilise les modules de support de ces bases. Pour pouvoir utiliser une base avec le module dbx, il vous faut l'avoir configuré avec PHP, ou bien la charger dynamiquement. Actuellement les bases MySQL, PostgreSQL, Microsoft SQL server, FrontBase et ODBC sont supportées, mais d'autres suivront bientôt (j'espère). </simpara> <simpara> La documentation complémentaire (ajout de nouvelles bases à dbx) est accessible à <ulink url="&url.dbx.docs;">&url.dbx.docs;</ulink>. </simpara> </partintro> <refentry id="function.dbx-close"> <refnamediv> <refname>dbx_close</refname> <refpurpose>Ferme une connexion à une base</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbx_close</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_close</function> retourne &true; en cas de succès, et &false; en cas d'erreur. </para> <example> <title>Exemple avec <function>dbx_close</function></title> <programlisting role="php"><?php $link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe") or die ("Impossible de se connecter"); print("Connexion réussie"); dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> <para> Voir aussi <function>dbx_connect</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-connect"> <refnamediv> <refname>dbx_connect</refname> <refpurpose>Ouvre une connexion à une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>dbx_connect</function></funcdef> <paramdef>string <parameter>module</parameter></paramdef> <paramdef>string <parameter>host</parameter></paramdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>int <parameter><optional>persistent</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_connect</function> retourne une resource dbx_link_object en cas de succès, &false; sinon. Si la connexion a put être établie, mais que la base de données n'a pas pu être sélectionnée, la fonction retournera quand même une ressource. Le paramètre <parameter>persistent</parameter> peut prendre la valeur DBX_PERSISTENT, pour créer une connexion persitante. </para> <para> Le paramètre <parameter>module</parameter> peut être soit une chaîne, soit une constante. Les valeurs possibles de <parameter>module</parameter> sont listées ci-dessous (n'oubliez pas que cela fonctionnera que si le module associé est chargé): </para> <para> <itemizedlist> <listitem> <simpara>module DBX_MYSQL : "mysql" </simpara> </listitem> <listitem> <simpara>module DBX_ODBC : "odbc" </simpara> </listitem> <listitem> <simpara>module DBX_PGSQL : "pgsql" </simpara> </listitem> <listitem> <simpara>module DBX_MSSQL : "mssql" </simpara> </listitem> <listitem> <simpara>module DBX_FBSQL : "fbsql" (CVS uniquement) </simpara> </listitem> </itemizedlist> </para> <para> Le support de pgsql était au stade expérimental jusqu'en avril 2001, et vous devez compiler vous-même le module pgsql après avoir modifié un des fichiers sources. Sinon, vous aurez une alerte affichée à chaque requête. </para> <para> La ressource dbx_link_object a trois membres : 'handle', 'module' et 'database'. Le membre 'database' contient le nom de la base de données actuellement sélectionnée. Le membre 'module' est à usage interne à dbx, et contient le numéro de module sus-cité. Le membre 'handle' est une ressource valide de connexion à la base de données, et peut être utilisé en tant que tel dans les autres fonctions spécifiques à cette base de données. </para> <para> Le message d'erreur pour Microsoft SQL server est actuellement le résultat direct de la fonction <function>mssql_get_last_message</function>. </para> <para> <informalexample> <programlisting role="php"><?php$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe");mysql_close($link->handle);// dbx_close($link) est beaucoup plus adapté ici?> </programlisting> </informalexample> </para> <para> Les paramètres <parameter>host</parameter>, <parameter>database</parameter>, <parameter>username</parameter> et <parameter>password</parameter> sont attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion de la base de données utilisée. </para> <para> <example> <title>Exemple avec <function>dbx_connect</function></title> <programlisting role="php"><?php$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe", DBX_PERSISTENT) or die ("Impossible de se connecter");print ("Connexion réussie");dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> </para> <para> Voir aussi <function>dbx_close</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-error"> <refnamediv> <refname>dbx_error</refname> <refpurpose> Rapporte le message d'erreur du dernier appel de fonction </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbx_error</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_error</function> retourne une chaîne contenant le message d'erreur du module sélectionné. S'il y a des connexions multiples sur le même module, seule la dernière erreur est fournie. S'il a des des connexions sur différents modules, la dernière erreur du module est retourné (le module est alors représenté par <parameter>link_identifier</parameter>). Notez que le module ODBC ne supporte pas encore cette fonction. </para> <example> <title>Exemple avec <function>dbx_error</function></title> <programlisting role="php"><?php$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "select id from nonexistingtbl");if ($result==0) { echo dbx_error($link);}dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> </refsect1> </refentry> <refentry id="function.dbx-query"> <refnamediv> <refname>dbx_query</refname> <refpurpose>Envoie une requête et lit tous les résultats</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>dbx_query</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter></paramdef> <paramdef>string <parameter>sql_statement</parameter></paramdef> <paramdef>long <parameter><optional>flags</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_query</function> retourne une ressource dbx_result_object ou 1 en cas de succès (un objet de résultat ne sera retourné que pour les requêtes SQL qui retournent un résultat), ou 0 en cas d'erreur. Le paramètre <parameter>flags</parameter> sert à contrôler la quantité d'informations retournée. Il peut être n'importe quelle combinaisons par OR des constantes : DBX_RESULT_INFO, DBX_RESULT_INDEX, DBX_RESULT_ASSOC. DBX_RESULT_INFO fournit des informations sur les colonnes, comme les noms des champs et leur type. DBX_RESULT_INDEX retourne le résultat dans un tableau indexé (par exemple, data[2][3], où 2 est le numéro de ligne et 3 est le numéro de colonne), dont la première colonne est indexée à 0. DBX_RESULT_ASSOC associe les noms de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est toujours retourné, indépendamment de la valeur de <parameter>flags</parameter>. Si DBX_RESULT_ASSOC est spécifié, DBX_RESULT_INFO est aussi retourné, même s'il n'a pas été spécifié. Ce qui signifie que les seules combinaisons envisageables sont DBX_RESULT_INDEX, DBX_RESULT_INDEX | DBX_RESULT_INFO et DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC. La dernière combinaison est la valeur par défaut de <parameter>flags</parameter>. Les résultats associés sont en fait des références, ce qui fait que modifier <literal>data[0][0]</literal>, revient à modifier <literal>data[0]['fieldnameforfirstcolumn']</literal>. </para> <para> Un objet dbx_result_object a 5 membres (éventuellement 4, suivants les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows', 'info' (optionnel) et 'data'. Handle est un identifiant de résultat, qui peut être utilisé avec les fonctions spécifiques à son module. Par exemple : </para> <para> <informalexample role="php"> <programlisting><?php$result = dbx_query($link, "SELECT id FROM tbl");mysql_field_len($result->handle, 0);?> </programlisting> </informalexample> </para> <para> Les membres cols et rows contiennent les numéros de colonne et de champs. </para> <para> <informalexample> <programlisting role="php"><?php$result = dbx_query($link, "SELECT id FROM tbl");echo "Taille du résultat: " . $result->rows . " x " . $result->cols . "<br>\n";?> </programlisting> </informalexample> </para> <para> Le membre info n'est retourné que si DBX_RESULT_INFO et/ou DBX_RESULT_ASSOC sont spécifié dans le paramètre <parameter>flags</parameter>. C'est un deuxième tableau, qui possède deux lignes ("name" and "type"), pour connaître les informations sur les colonnes. </para> <para> <informalexample> <programlisting role="php"><?php$result = dbx_query($link, "SELECT id FROM tbl");echo "Nom de la colonne : " . $result->info["name"][0] . "<br>\n";echo "Type de la colonne: " . $result->info["type"][0] . "<br>\n";?> </programlisting> </informalexample> </para> <para> Le membre data contient les données effectivement lues, éventuellement associées à des noms de colonnes. Si DBX_RESULT_ASSOC est utilisé, il est possible d'utiliser <literal>$result->data[2]["fieldname"]</literal>. </para> <example> <title>Exemple avec <function>dbx_query</function></title> <programlisting role="php"><?php$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl");if ($result==0) echo "La requête a échoué\n<br>";elseif ($result==1) { echo "La requête a réussie\n<br>";} else { $rows=$result->rows; $cols=$result->cols; echo "<p>table dimension: {$result->rows} x {$result->cols}<br><table border=1>\n"; echo "<tr>"; for ($col=0; $col<$cols; ++$col) { echo "<td>-{$result->info["name"][$col]}-<br>-{$result->info["type"][$col]}-</td>"; } echo "</tr>\n"; for ($row=0; $row<$rows; ++$row){ echo "<tr>"; for ($col=0; $col<$cols; ++$col) { echo "<td>-{$result->data[$row][$col]}-</td>"; } echo "</tr>\n"; } echo "</table><p>\n"; echo "table dimension: {$result->rows} x id, parentid, description<br><table border=1>\n"; for ($row=0; $row<$rows; ++$row) { echo "<tr>"; echo "<td>-{$result->data[$row]["id"]}-</td>"; echo "<td>-{$result->data[$row]["parentid"]}-</td>"; echo "<td>-{$result->data[$row]["description"]}-</td>"; echo "</tr>\n"; } echo "</table><p>\n";}dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> <para> Voir aussi <function>dbx_connect</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-sort"> <refnamediv> <refname>dbx_sort</refname> <refpurpose> Tri un résultat avec une fonction utilisateur </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbx_sort</function></funcdef> <paramdef>dbx_result_object <parameter>result</parameter></paramdef> <paramdef>string <parameter>user_compare_function</parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_sort</function> retourne &true; en cas de succès, et &false; sinon. </para> <example> <title>Exemple avec <function>dbx_sort</function></title> <programlisting role="php"><?phpfunction user_re_order ($a, $b) { $rv = dbx_cmp_desc($a, $b, "parentid"); if (!$rv) $rv = dbx_cmp_asc($a, $b, "id"); return $rv;}$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");echo "Les données sont maintenant triées par id<br>";dbx_sort($result, "user_re_order");echo "Les données sont maintenant triées par parentid décroissant, puis par id<br>";dbx_close($link);?> </programlisting> </example> <para> Voir aussi <function>dbx_cmp_asc</function> et <function>dbx_cmp_desc</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-cmp-asc"> <refnamediv> <refname>dbx_cmp_asc</refname> <refpurpose>Compare deux lignes pour tri croissant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbx_cmp_asc</function></funcdef> <paramdef>array <parameter>row_a</parameter></paramdef> <paramdef>array <parameter>row_b</parameter></paramdef> <paramdef>string <parameter>columnname_or_index</parameter></paramdef> <paramdef>int <parameter><optional>comparison_type</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_cmp_asc</function> retourne 0 si row_a[$columnname_or_index] est égal à row_b[$columnname_or_index], 1 si elle est plus grande et -1 si elle est plus petite. </para> <para> Le paramètre <parameter>comparison_type</parameter> sert utiliser le mode numérique pour les comparaisons (il faut alors lui passer <literal>DBX_CMP_NUMBER</literal>). Par défaut, la comparaison est textuelle (c'est-à-dire que "<literal>20</literal>" est plus grand que "<literal>100</literal>"). </para> <example> <title>Exemple avec <function>dbx_cmp_asc</function></title> <programlisting role="php"><?phpfunction user_re_order($a, $b) { $rv = dbx_cmp_desc($a, $b, "parentid"); if (!$rv) { $rv = dbx_cmp_asc($a, $b, "id"); return $rv; }}$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");echo "Les données sont maintenant triées par id<br>";dbx_sort($result, "user_re_order");echo "Les données sont maintenant triées par parentid décroissant, puis par id<br>";dbx_close($link);?> </programlisting> </example> <para> Voir aussi <function>dbx_sort</function> et <function>dbx_cmp_desc</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-cmp-desc"> <refnamediv> <refname>dbx_cmp_desc</refname> <refpurpose>Compare deux lignes pour tri décroissant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbx_cmp_desc</function></funcdef> <paramdef>array <parameter>row_a</parameter></paramdef> <paramdef>array <parameter>row_b</parameter></paramdef> <paramdef>string <parameter>columnname_or_index</parameter> </paramdef> <paramdef>int <parameter><optional>comparison_type</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>dbx_cmp_desc</function> retourne 0 si row_a[$columnname_or_index] est égal à row_b[$columnname_or_index], 1 si elle est plus grande et -1 si elle est plus petite. </para> <para> Le paramètre <parameter>comparison_type</parameter> sert utiliser le mode numérique pour les comparaisons (il faut alors lui passer <literal>DBX_CMP_NUMBER</literal>). Par défaut, la comparaison est textuelle (c'est-à-dire que "<literal>20</literal>" est plus grand que "<literal>100</literal>"). </para> <example> <title>Exemple avec <function>dbx_cmp_desc</function></title> <programlisting role="php"><?phpfunction user_re_order ($a, $b) { $rv = dbx_cmp_desc($a, $b, "parentid"); if (!$rv) { $rv = dbx_cmp_asc($a, $b, "id"); return $rv; }}$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");echo "Les données sont maintenant triées par id<br>";dbx_sort($result, "user_re_order");echo "Les données sont maintenant triées par parentid décroissant, puis par id<br>";dbx_close($link);?> </programlisting> </example> <para> Voir aussi <function>dbx_sort</function> et <function>dbx_cmp_asc</function>. </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/dir.xml diff -u phpdoc/fr/functions/dir.xml:1.9 phpdoc/fr/functions/dir.xml:1.10 --- phpdoc/fr/functions/dir.xml:1.9 Sat Jul 7 18:22:06 2001 +++ phpdoc/fr/functions/dir.xml Mon Nov 12 00:10:20 2001 @@ -1,272 +1 @@ - <reference id="ref.dir"> - <title>Accès aux dossiers</title> - <titleabbrev>Dossiers</titleabbrev> - <refentry id="function.chroot"> - <refnamediv> - <refname>chroot</refname> - <refpurpose>Change la racine</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chroot</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chroot</function> change la racine du script en cours, - et la remplace par <parameter>directory</parameter>. - <function>chroot</function> retourne &false; - s'il n'a pas pu modifier la racine, et &true; - sinon. - </para> - <para> - <note> - <para> - Il n'est pas conseillé d'utiliser cette fonction sur un - site web, car il n'est pas possible de restaurer la racine - à sa valeur initiale à la fin de la - requête. Cette fonction n'est viable que lorsque PHP est - utilisé en CGI. - </para> - </note> - </para> - </refsect1> - </refentry> - <refentry id="function.chdir"> - <refnamediv> - <refname>chdir</refname> - <refpurpose>Change de dossier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chdir</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chdir</function> change le dossier courant de PHP en - <parameter>directory</parameter>. <function>chdir</function> retourne &false; - si l'opération échoue, et &true; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.dir"> - <refnamediv> - <refname>dir</refname> - <refpurpose>Classe dossier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>new <function>dir</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Un mécanisme pseudo-objet permet la lecture d'un dossier. - L'argument <parameter>directory</parameter> doit être ouvert. - Deux propriétés sont disponibles une fois le dossier - ouvert : le pointeur peut être utilisé avec d'autres - fonctions telles que <function>readdir</function>, - <function>rewinddir</function> et <function>closedir</function>. - Le chemin du dossier est le chemin fourni lors de la construction - de l'objet. Trois méthodes permettent de lire, remettre - à zéro et fermer le dossier. - <example> - <title>Exemple avec <function>dir</function></title> - <programlisting role="php"> -<?php -$d = dir("/etc"); -echo "Pointeur: ".$d->handle."<br>\n"; -echo "Chemin: ".$d->path."<br>\n"; -while($entry=$d->read()) { - echo $entry."<br>\n"; -} -$d->close(); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.closedir"> - <refnamediv> - <refname>closedir</refname> - <refpurpose>Ferme le pointeur sur le dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>closedir</function></funcdef> - <paramdef>resource <parameter>dir_handle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>closedir</function> ferme le pointeur de dossier - <parameter>dir_handle</parameter>. Le dossier devait avoir - été ouvert avec <function>opendir</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.getcwd"> - <refnamediv> - <refname>getcwd</refname> - <refpurpose>Retourne le dossier de travail</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>getcwd</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>getcwd</function> retourne le nom du dossier courant. - </para> - </refsect1> - </refentry> - <refentry id="function.opendir"> - <refnamediv> - <refname>opendir</refname> - <refpurpose> - Ouvre un dossier, et récupère un pointeur dessus. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>opendir</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>opendir</function> retourne un pointeur sur un dossier - pour être utilisé avec les fonctions - <function>closedir</function>, <function>readdir</function> - et <function>rewinddir</function>. - </para> - <para> - Si le paramètre <parameter>path</parameter> n'est pas un dossier - valide, ou si le dossier ne peut être accédé - pour des raisons de permissions ou des erreurs liées au - système de fichiers, <function>opendir</function> retourne - &false; et génère une erreur PHP. - Vous pouvez supprimer cette erreur en ajoutant - <literal>@</literal> avant le nom de la fonction. - </para> - <para> - <example> - <title>Exemple <function>opendir</function></title> - <programlisting role="php"> -<?php -if ($dir = @opendir("/tmp")) { - while($file = readdir($dir)) { - echo "$file\n"; - } - closedir($dir); -} -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.readdir"> - <refnamediv> - <refname>readdir</refname> - <refpurpose>Lit une entrée du dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>readdir</function></funcdef> - <paramdef>resource <parameter>dir_handle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>readdir</function> retourne le nom du fichier suivant dans - le dossier identifié par <parameter>dir_handle</parameter>. - Les noms sont retournés dans n'importe quel ordre. - <example> - <title>Liste tous les fichiers du dossier courant</title> - <programlisting role="php"> -<?php -$handle=opendir('.'); -echo "Pointeur de dossier: $handle\n"; -echo "Fichiers:\n"; -while ($file = readdir($handle)) { - echo "$file\n"; -} -closedir($handle); -?> - </programlisting> - </example> - </para> - <para> - Notez que <function>readdir</function> retournera aussi les dossiers "." et - "..". Si vous ne les voulez pas, supprimez les simplement : - <example> - <title> - Liste tous les fichiers du dossier courant, sauf "." et ".." - </title> - <programlisting role="php"> -<?php -$handle=opendir('.'); -while ($file = readdir($handle)) { - if ($file != "." && $file != "..") { - echo "$file\n"; - } -} -closedir($handle); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.rewinddir"> - <refnamediv> - <refname>rewinddir</refname> - <refpurpose>Retourne à la première entrée du dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>rewinddir</function></funcdef> - <paramdef>resource <parameter>dir_handle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rewinddir</function> retourne à la première - entrée du dossier identifié par <parameter>dir_handle</parameter> : - le prochain fichier lu sera le premier. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.10 $ --> <reference id="ref.dir"> <title>Accès aux dossiers</title> <titleabbrev>Dossiers</titleabbrev> <partintro> <simpara> Pour les fonctions associées telles que <function>dirname</function>, <function>is_dir</function>, <function>mkdir</function>, et <function>rmdir</function>, reportez-vous à la section sur le <link linkend="ref.filesystem">système de fichiers</link>. </simpara> </partintro> <refentry id="function.chroot"> <refnamediv> <refname>chroot</refname> <refpurpose>Change la racine</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chroot</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chroot</function> change la racine du script en cours, et la remplace par <parameter>directory</parameter>. <function>chroot</function> retourne &false; s'il n'a pas pu modifier la racine, et &true; sinon. </para> <para> <note> <para> Il n'est pas conseillé d'utiliser cette fonction sur un site web, car il n'est pas possible de restaurer la racine à sa valeur initiale à la fin de la requête. Cette fonction n'est viable que lorsque PHP est utilisé en CGI. </para> </note> </para> </refsect1> </refentry> <refentry id="function.chdir"> <refnamediv> <refname>chdir</refname> <refpurpose>Change de dossier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chdir</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chdir</function> change le dossier courant de PHP en <parameter>directory</parameter>. <function>chdir</function> retourne &false; si l'opération échoue, et &true; sinon. </para> </refsect1> </refentry> <refentry id="function.dir"> <refnamediv> <refname>dir</refname> <refpurpose>Classe dossier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>new <function>dir</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Un mécanisme pseudo-objet permet la lecture d'un dossier. L'argument <parameter>directory</parameter> doit être ouvert. Deux propriétés sont disponibles une fois le dossier ouvert : le pointeur peut être utilisé avec d'autres fonctions telles que <function>readdir</function>, <function>rewinddir</function> et <function>closedir</function>. Le chemin du dossier est le chemin fourni lors de la construction de l'objet. Trois méthodes permettent de lire, remettre à zéro et fermer le dossier. <example> <title>Exemple avec <function>dir</function></title> <programlisting role="php"><?php$d = dir("/etc");echo "Pointeur: ".$d->handle."<br>\n";echo "Chemin: ".$d->path."<br>\n";while($entry=$d->read()) { echo $entry."<br>\n";}$d->close();?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.closedir"> <refnamediv> <refname>closedir</refname> <refpurpose>Ferme le pointeur sur le dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>closedir</function></funcdef> <paramdef>resource <parameter>dir_handle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>closedir</function> ferme le pointeur de dossier <parameter>dir_handle</parameter>. Le dossier devait avoir été ouvert avec <function>opendir</function>. </para> </refsect1> </refentry> <refentry id="function.getcwd"> <refnamediv> <refname>getcwd</refname> <refpurpose>Retourne le dossier de travail</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>getcwd</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>getcwd</function> retourne le nom du dossier courant. </para> </refsect1> </refentry> <refentry id="function.opendir"> <refnamediv> <refname>opendir</refname> <refpurpose> Ouvre un dossier, et récupère un pointeur dessus. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>opendir</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>opendir</function> retourne un pointeur sur un dossier pour être utilisé avec les fonctions <function>closedir</function>, <function>readdir</function> et <function>rewinddir</function>. </para> <para> Si le paramètre <parameter>path</parameter> n'est pas un dossier valide, ou si le dossier ne peut être accédé pour des raisons de permissions ou des erreurs liées au système de fichiers, <function>opendir</function> retourne &false; et génère une erreur PHP. Vous pouvez supprimer cette erreur en ajoutant <literal>@</literal> avant le nom de la fonction. </para> <para> <example> <title>Exemple <function>opendir</function></title> <programlisting role="php">>>>>>>> 1.9<?phpif ($dir = @opendir("/tmp")) { while($file = readdir($dir)) { echo "$file\n"; } closedir($dir);}?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.readdir"> <refnamediv> <refname>readdir</refname> <refpurpose>Lit une entrée du dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>readdir</function></funcdef> <paramdef>resource <parameter>dir_handle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>readdir</function> retourne le nom du fichier suivant dans le dossier identifié par <parameter>dir_handle</parameter>. Les noms sont retournés dans n'importe quel ordre. <example> <title>Liste tous les fichiers du dossier courant</title> <programlisting role="php"><?php $handle=opendir('.'); echo "Pointeur de dossier: $handle\n"; echo "Fichiers:\n"; while ($file = readdir($handle)) { echo "$file\n"; } closedir($handle);?> </programlisting> </example> </para> <para> Notez que <function>readdir</function> retournera aussi les dossiers "." et "..". Si vous ne les voulez pas, supprimez les simplement : <example> <title> Liste tous les fichiers du dossier courant, sauf "." et ".." </title> <programlisting role="php"><?php$handle=opendir('.');while ($file = readdir($handle)) { if ($file != "." && $file != "..") { echo "$file\n"; }}closedir($handle);?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.rewinddir"> <refnamediv> <refname>rewinddir</refname> <refpurpose>Retourne à la première entrée du dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>rewinddir</function></funcdef> <paramdef>resource <parameter>dir_handle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rewinddir</function> retourne à la première entrée du dossier identifié par <parameter>dir_handle</parameter> : le prochain fichier lu sera le premier. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/domxml.xml diff -u phpdoc/fr/functions/domxml.xml:1.7 phpdoc/fr/functions/domxml.xml:1.8 --- phpdoc/fr/functions/domxml.xml:1.7 Fri Jul 20 03:57:44 2001 +++ phpdoc/fr/functions/domxml.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.8 $ --> <reference id="ref.domxml"> <title>DOM XML</title> <titleabbrev>DOM XML</titleabbrev> @@ -5,7 +7,8 @@ <simpara> Note importante : cette documentation est en cours de rédaction, et n'est pas encore finie. Elle souffre naturellement d'un - manque de détails et de relecture. Soyez en prévenu. (Damien Seguy). + manque de détails et de relecture. Soyez en prévenu. (Damien + Seguy). </simpara> <simpara> Ces fonctions ne sont disponibles que si PHP a été @@ -21,11 +24,12 @@ qui transforme un fichier XML en tableau PHP. Actuellement, ce tableau est accessible uniquement en lecture. Cela ne siginifie pas que vous ne pouvez pas le modifier, mais cela n'aurait aucun sens - car <function>domxml_dumpmem</function> ne pourra pas prendre ces modifications - en considération. Par conséquent, si vous voulez lire un fichier XML - et écrire sa version modifiée, utilisez les fonctions - <function>domxml_add_node</function>, <function>domxml_set_attribute</function>, etc... - et finalement, <function>domxml_dumpmem</function>. + car <function>domxml_dumpmem</function> ne pourra pas prendre ces + modifications en considération. Par conséquent, si vous voulez + lire un fichier XML et écrire sa version modifiée, utilisez les + fonctions <function>domxml_add_node</function>, + <function>domxml_set_attribute</function>, etc... + et finalement <function>domxml_dumpmem</function>. </simpara> <simpara> Ce module définit les constantes suivantes : @@ -407,6 +411,7 @@ <paramdef>string <parameter>str</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>xmldoc</function> analyse le document XML <parameter>str</parameter> et retourne un objet de classe "Dom document", avec les @@ -428,6 +433,7 @@ <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>xmldocfile</function> analyse le fichier XML <parameter>filename</parameter> et retourne un objet "Dom document", @@ -452,6 +458,7 @@ <paramdef>string <parameter>str</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>xmltree</function> analyse le document XML <parameter>str</parameter> et retourne un arbre d'objets PHP qui représente le document @@ -478,6 +485,7 @@ <paramdef>object <parameter>doc</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_root</function> prend en argument <parameter>doc</parameter>, un objet de la classe "Dom document", et retourn l'élément racine de @@ -542,6 +550,7 @@ <paramdef>string <parameter>name</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_add_root</function> ajoute la racine <parameter>name</parameter> au document <parameter>doc</parameter>. @@ -576,6 +585,7 @@ <paramdef>resource <parameter>doc</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_dumpmem</function> crée un document XML à partir de la représentation interne. <function>domxml_dumpmem</function> @@ -603,6 +613,7 @@ <paramdef>resource <parameter>node</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_attributes</function> retourne tous les attributs du noeud <parameter>node</parameter> sous forme @@ -626,6 +637,7 @@ <paramdef>string <parameter>name</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_get_attribute</function> retourn l'attribut <parameter>name</parameter> du noeud <parameter>node</parameter>. @@ -653,6 +665,7 @@ <paramdef>string <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_set_attribute</function> modifie l'attribut <parameter>name</parameter> du noeud <parameter>node</parameter> @@ -696,6 +709,7 @@ <paramdef>object <parameter>doc|node</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_children</function> retourne tous les fils du noeud <parameter>doc|node</parameter>, sous forme d'un tableau @@ -714,7 +728,7 @@ $head = $root->new_child("HEAD", ""); $head->new_child("TITLE", "Hier der Titel"); $head->set_attribute("Language", "ge"); - $children = $head->children() + $children = $head->children(); ?> </programlisting> </example> @@ -737,6 +751,7 @@ <paramdef>string <parameter>content</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_new_child</function> ajoute un nouveau fils. (NDtraducteur : cette documentation n'est pas encore finie...) @@ -758,6 +773,7 @@ <paramdef>string <parameter>version</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_new_xmldoc</function> crée un nouveau document XML vide, et le retourne. @@ -783,6 +799,7 @@ <paramdef>object <parameter>dom_document</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> </para> <para> @@ -805,11 +822,26 @@ <paramdef>object <parameter>xpath_context</parameter></paramdef> </funcprototype> </funcsynopsis> - <para> - </para> + &warn.experimental.func; <para> Pas de documentation encore (22/2/2201). </para> </refsect1> </refentry> -</reference> \ No newline at end of file +</reference> +<!-- 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 +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +--> \ No newline at end of file Index: phpdoc/fr/functions/exec.xml diff -u phpdoc/fr/functions/exec.xml:1.6 phpdoc/fr/functions/exec.xml:1.7 --- phpdoc/fr/functions/exec.xml:1.6 Fri Jul 13 03:43:21 2001 +++ phpdoc/fr/functions/exec.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <reference id="ref.exec"> <title>Exécution de programmes externes</title> <titleabbrev>Exécution de programmes</titleabbrev> @@ -96,7 +98,7 @@ <function>exec</function>, <function>popen</function>, <function>system</function>, et - les opérateurs + les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> @@ -155,7 +157,7 @@ <para> Voir aussi <function>system</function>, <function>passthru</function>, <function>popen</function>, - <function>escapeshellcmd</function>, et les opérateurs + <function>escapeshellcmd</function>, et les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> @@ -201,7 +203,7 @@ <function>system</function>, <function>popen</function>, <function>escapeshellcmd</function>, - et les opérateurs + et les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> @@ -259,7 +261,7 @@ <function>passthru</function>, <function>popen</function>, <function>escapeshellcmd</function> et - les opérateurs + les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> Index: phpdoc/fr/functions/fbsql.xml diff -u phpdoc/fr/functions/fbsql.xml:1.6 phpdoc/fr/functions/fbsql.xml:1.7 --- phpdoc/fr/functions/fbsql.xml:1.6 Wed Aug 8 05:43:06 2001 +++ phpdoc/fr/functions/fbsql.xml Mon Nov 12 00:10:20 2001 @@ -1,1786 +1 @@ -<!-- $Revision: 1.6 $ --> -<reference id="ref.fbsql"> - <title>FrontBase</title> - <titleabbrev>FrontBase</titleabbrev> - <partintro> - &warn.experimental; - <simpara> - Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Pour - pouvoir les utiliser, vous devez compiler PHP avec le support fbsql en - utilisant l'option <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql</option></link>. Si - vous utilisez cette option sans spécifier le chemin jusqu'à l'installation - fbsql, PHP recherchera les librairies du client fbsql dans les dossiers - habituels, sur votre système. Les utilisateurs qui ont installé - FrontBase dans un dossier non standard doivent spécifier le chemin comme - ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. - Cela va indiquer à PHP le bon emplacement des librairies de FrontBase, - et éviter les conflits. - </simpara> - <simpara> - Plus d'informations sur FrontBase sont disponibles à - <ulink url="&url.fbsql;">&url.fbsql;</ulink>. - </simpara> - <simpara> - La documentation complète de FrontBase est disponible à - <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. - </simpara> - <simpara> - Le support de Frontbase a été ajouté en PHP 4.0.6. - </simpara> - </partintro> - <refentry id="function.fbsql-affected-rows"> - <refnamediv> - <refname>fbsql_affected_rows</refname> - <refpurpose> - Lit le nombre de ligne affectées par la dernière requête - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_affected_rows</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_affected_rows</function> retourne le nombre de - lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, - effectuée avec la connexion représentée par - <parameter>link_identifier</parameter>. Si ce dernier n'est pas - spécifié, c'est la dernière connexion ouverte par - <function>fbsql_connect</function> qui sera utilisée. - </para> - <note> - <para> - Si vous utilisez les transactions, vous devez appeler - <function>fbsql_affected_rows</function> après votre requête - INSERT, UPDATE ou DELETE, mais pas après la validation. - </para> - </note> - <para> - Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes - les lignes seront effacées, mais <function>fbsql_affected_rows</function> - retournera 0. - </para> - <note> - <para> - Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les - anciennes valeurs sont égales aux nouvelles. Cela fait que - <function>fbsql_affected_rows</function> ne retournera pas le nombre - de ligne traitées, mais le nombre de lignes affectées (modifiées) par - la requête. - </para> - </note> - <para> - Si la dernière requête échoue, <function>fbsql_affected_rows</function> - retourne -1. - </para> - <para> - Voir aussi - <function>fbsql_num_rows</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-autocommit"> - <refnamediv> - <refname>fbsql_autocommit</refname> - <refpurpose>Active ou désactive la validation automatique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_autocommit</function></funcdef> - <paramdef>resource - <parameter>link_identifier</parameter> - </paramdef> - <paramdef>boolean - <parameter> - <optional>OnOff</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_autocommit</function> retourne l'état courant - de la validation automatique, pour la connexion - <parameter>link_identifier</parameter>. Si le paramètre <parameter>OnOff</parameter> - est fourni, la validation automatique sera remplacée par sa valeur (un booléen). - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-change-user"> - <refnamediv> - <refname>fbsql_change_user</refname> - <refpurpose> - Change le nom d'utilisateur de la session active - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_change_user</function></funcdef> - <paramdef>string <parameter>user</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>string - <parameter> - <optional>database</optional> - </parameter> - </paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_change_user</function> change le nom de l'utilisateur - courant sur la session active courante, ou sur - <parameter>link_identifier</parameter>. Si une base de données - est spécifiée avec le paramètre <parameter>database</parameter>, elle - deviendra la base par défaut du nouvel utilisateur. - Le nouvel utilisateur doit être spécifié par son login - (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). - Si l'authentification échoue, la session courante restera ouverte. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-close"> - <refnamediv> - <refname>fbsql_close</refname> - <refpurpose>Ferme la connexion FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_close</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_close</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_close</function> ferme la connexion au serveur - FrontBase associé à la ressource <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, c'est la dernière - connexion ouverte qui sera fermée. - </para> - <para> - Utiliser <function>fbsql_close</function> n'est pas nécessaire, car les - liens non persistants seront automatiquement fermé à la fin du script. - </para> - <example> - <title>Exemple avec <function>fbsql_close</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret") - or die("Could not connect"); - print("Connecté!"); - fbsql_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_connect</function> et - <function>fbsql_pconnect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-connect"> - <refnamediv> - <refname>fbsql_connect</refname> - <refpurpose>Ouvre une connexion à un serveur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_connect</function></funcdef> - <paramdef>string - <parameter> - <optional>hostname</optional> - </parameter> - </paramdef> - <paramdef>string - <parameter> - <optional>username</optional> - </parameter> - </paramdef> - <paramdef>string - <parameter> - <optional>password</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_connect</function> retourne une ressource de connexion - positive en cas de succès, ou un message d'erreur en cas d'échec. - </para> - <para> - <function>fbsql_connect</function> établit une connexion avec - un serveur FrontBase. Les valeur suivantes sont utilisées, en cas - d'omission : - <parameter>hostname</parameter> = '&null;', - <parameter>username</parameter> = '_SYSTEM' et - <parameter>password</parameter> = "" (pas de mot de passe). - </para> - <para> - Si un deuxième appel est fait à <function>fbsql_connect</function> - avec les mêmes arguments, une nouvelle connexion ne sera pas générée, - mais la connexion déjà ouverte sera reutilisée, et retournée. - </para> - <para> - La connexion au serveur sera fermée dès la fin du scrpit, à moins qu'elle - ne soit explicitement terminée plus tôt, avec la fonction - <function>fbsql_close</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_connect</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret") - or die("Could not connect"); - print("Connected successfully"); - fbsql_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_pconnect</function> et - <function>fbsql_close</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-create-db"> - <refnamediv> - <refname>fbsql_create_db</refname> - <refpurpose>Crée une base de données</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_create_db</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_create_db</function> crée une nouvelle base - de données, nommée <parameter>database_name</parameter>, sur - le serveur repéré par la ressource <parameter>link_identifier</parameter>. - </para> - <example> - <title>Exemle avec <function>fbsql_create_db</function></title> - <programlisting role="php"> -<?php - $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") - or die ("Impossible de se connecter"); - if (fbsql_create_db("my_db")) { - print("Base de données créée!\n"); - } else { - printf("Erreur de création de la base de données : %s\n", fbsql_error()); - } -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_drop_db</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-data-seek"> - <refnamediv> - <refname>fbsql_data_seek</refname> - <refpurpose>Déplace le pointeur interne de résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_data_seek</function></funcdef> - <paramdef>int <parameter>result_identifier</parameter></paramdef> - <paramdef>int <parameter>row_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_data_seek</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_data_seek</function> déplace le pointeur interne - de ligne dans le résultat de requête <parameter>result_identifier</parameter> - jusqu'à la ligne <parameter>row_number</parameter>. Le prochain - appel à <function>fbsql_fetch_row</function> retournera cette ligne. - </para> - <para> - Les lignes sont numérotées à partir de 0. - </para> - <example> - <title>Exemple avec <function>fbsql_data_seek</function></title> - <programlisting role="php"> -<?php - $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") - or die ("Impossible de se connecter"); - fbsql_select_db("samp_db") - or die ("Impossible de sélectionner une base"); - $query = "SELECT last_name, first_name FROM friends;"; - $result = fbsql_query($query) - or die ("Query failed"); -// Lecture des lignes en ordre inverse - for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) { - if (!fbsql_data_seek($result, $i)) { - printf ("Impossible d'accéder à la ligne %d\n", $i); - continue; - } - if(!($row = fbsql_fetch_object($result))) - continue; - printf ("%s %s<BR>\n", $row->last_name, $row->first_name); - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-db-query"> - <refnamediv> - <refname>fbsql_db_query</refname> - <refpurpose>Envoie une requête à la base FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_db_query</function></funcdef> - <paramdef>string <parameter>database</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_db_query</function> retourne une ressource positive - représentant un résultat de requête en cas de succès, et - &false; en cas d'erreur. - </para> - <para> - <function>fbsql_db_query</function> sélectionne la base <parameter>database</parameter> - et y exécute la requête <parameter>query</parameter>. Si le paramètre - optionnel <parameter>link_identifier</parameter> est spécifié, - <function>fbsql_db_query</function> travaillera sur cette connexion. - S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser - la dernière connexion ouverte. Si aucune connexion n'a été ouverte, - <function>fbsql_db_query</function> essaiera de se connecter automatiquement - en appelant la fonction <function>fbsql_connect</function>, sans arguments. - </para> - <para> - Voir aussi - <function>fbsql_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-drop-db"> - <refnamediv> - <refname>fbsql_drop_db</refname> - <refpurpose>Supprime une base de données FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_drop_db</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_drop_db</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_drop_db</function> essaie de supprimer la base - de données <parameter>database_name</parameter>, sur la connexion - représentée par <parameter>link_identifier</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-errno"> - <refnamediv> - <refname>fbsql_errno</refname> - <refpurpose>Retourne le code d'erreur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_errno</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_errno</function> retourne le code d'erreur de la - dernière connexion FrontBase, ou bien - <literal>0</literal> (zéro) si aucune erreur n'est survenue. - </para> - <para> - Les erreurs générées par FrontBase ne sont pas automatiquement - affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> - pour connaître leur code d'erreur. Notez que cette fonction ne - retourne que le code d'erreur généré par la dernière fonction FrontBase - (hormis <function>fbsql_error</function> et - <function>fbsql_errno</function>) : si vous voulez repérer les - erreurs, faites le dès que les fonctions ont été appelées. - <informalexample> - <programlisting role="php"> -<?php - fbsql_connect("marliesle"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - fbsql_select_db("nonexistentdb"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - $conn = fbsql_query("SELECT * FROM nonexistenttable;"); - echo fbsql_errno().": ".fbsql_error()."<br>"; -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>fbsql_error</function> et - <function>fbsql_warnings</function> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-error"> - <refnamediv> - <refname>fbsql_error</refname> - <refpurpose>Retourne le message d'erreur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_error</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_error</function> retourne le dernier message d'erreur - généré par le serveur FrontBase, ou bien - <literal>''</literal> (chaîne vide) si aucune erreur n'est survenue. - </para> - <para> - Les erreurs générées par FrontBase ne sont pas automatiquement - affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> - pour connaître leur code d'erreur. Notez que cette fonction ne - retourne que le code d'erreur généré par la dernière fonction FrontBase - (hormis <function>fbsql_error</function> et - <function>fbsql_errno</function>) : si vous voulez repérer les - erreurs, faites le dès que les fonctions ont été appelées. - <informalexample> - <programlisting role="php"> -<?php - fbsql_connect("marliesle"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - fbsql_select_db("nonexistentdb"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - $conn = fbsql_query("SELECT * FROM nonexistenttable;"); - echo fbsql_errno().": ".fbsql_error()."<br>"; -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>fbsql_errno</function> et - <function>fbsql_warnings</function> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-array"> - <refnamediv> - <refname>fbsql_fetch_array</refname> - <refpurpose> - Lit toute une ligne de résultat dans un tableau. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_array</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int - <parameter> - <optional>result_type</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_array</function> retourne un tableau contenant - la ligne courante du résultat <parameter>result</parameter>, ou - &false; s'il n'y a plus de lignes. - </para> - <para> - <function>fbsql_fetch_array</function> est une version améliorée - de <function>fbsql_fetch_row</function>. En plus de stocker les - données dans un tableau à indice numérique, elle les stocke - aussi sous forme de tableau associatif, dont les indices sont - les noms des colonnes. - </para> - <para> - SI deux colonnes (ou plus) on le même nom, la dernière colonne - sera utilisée. Pour accéder aux autres colonnes de même nom, vous - devez absolument utiliser les indices numériques. - <informalexample> - <programlisting> -select t1.f1 as foo t2.f1 as bar from t1, t2; - </programlisting> - </informalexample> - </para> - <para> - Il est important de noter que <function>fbsql_fetch_array</function> - n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, - tandis qu'elle apporte un confort d'utilisation notable. - </para> - <para> - Le second argument optionnel <parameter>result_type</parameter> - de <function>fbsql_fetch_array</function> est une constante qui peut prendre - l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, - <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. - </para> - <para> - Pour plus de détails, reportez-vous à - <function>fbsql_fetch_row</function> et <function>fbsql_fetch_assoc</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_fetch_array</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password); - $result = fbsql_db_query("database","select user_id, fullname from table"); - while ($row = fbsql_fetch_array($result)) { - echo "user_id: ".$row["user_id"]."<br>\n"; - echo "user_id: ".$row[0]."<br>\n"; - echo "fullname: ".$row["fullname"]."<br>\n"; - echo "fullname: ".$row[1]."<br>\n"; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-assoc"> - <refnamediv> - <refname>fbsql_fetch_assoc</refname> - <refpurpose> - Lit toute une ligne de résultat dans un tableau associatif - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_assoc</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_assoc</function> retourne un tableau associatif - contenant la ligne courante du résultat <parameter>result</parameter>, ou - &false; s'il n'y a plus de lignes. - </para> - <para> - <function>fbsql_fetch_assoc</function> est équivalent à - <function>fbsql_fetch_array</function> avec l'option - <literal>FBSQL_ASSOC</literal>. Elle ne retourne qu'un tableau - associatif. C'est le comportement initial de <function>fbsql_fetch_array</function>. - Si vous avez aussi besoin des indices numériques, utilisez - <function>fbsql_fetch_array</function>. - </para> - <para> - SI deux colonnes (ou plus) on le même nom, la dernière colonne - sera utilisée. Pour accéder aux autres colonnes de même nom, vous - devez absolument utiliser la fonction <function>fbsql_fetch_array</function>. - </para> - <para> - Il est important de noter que <function>fbsql_fetch_assoc</function> - n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, - tandis qu'elle apporte un confort d'utilisation notable. - </para> - <para> - Pour plus de détails, reportez-vous à - <function>fbsql_fetch_row</function> et <function>fbsql_fetch_array</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_fetch_assoc</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password); - $result = fbsql_db_query("database","select * from table;"); - while ($row = fbsql_fetch_assoc($result)) { - echo $row["user_id"]; - echo $row["fullname"]; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-field"> - <refnamediv> - <refname>fbsql_fetch_field</refname> - <refpurpose> - Lit des informations sur une colonne dans un résultat, et retourne un objet - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>fbsql_fetch_field</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int - <parameter> - <optional>field_offset</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_field</function> retourne une objet contenant - les informations sur un champs, dans le résultat <parameter>result</parameter>. - </para> - <para> - <function>fbsql_fetch_field</function> sert à lire des informations - sur les champs dans le résultat <parameter>result</parameter>. Si le - second paramètre <parameter>field_offset</parameter> n'est pas - spécifié, le champs suivant est lu. - </para> - <para> - Les propriétés de l'objet sont : - <itemizedlist> - <listitem> - <simpara> - name - Nom de colonne - </simpara> - </listitem> - <listitem> - <simpara> - table - Nom de la table d'origine - </simpara> - </listitem> - <listitem> - <simpara> - max_length - Taille maximale de la colonne - </simpara> - </listitem> - <listitem> - <simpara> - not_null - 1 si la colonne ne peut être nulle - </simpara> - </listitem> - <listitem> - <simpara> - type - Type de la colonne - </simpara> - </listitem> - </itemizedlist> - </para> - <example> - <title>Exemple avec <function>fbsql_fetch_field</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password) - or die ("Impossible de se connecter"); - $result = fbsql_db_query("database", "select * from table;") - or die ("Query failed"); -// lire les données de colonnes - $i = 0; - while ($i < fbsql_num_fields($result)) { - echo "Information de la colonne $i:<br>\n"; - $meta = fbsql_fetch_field($result); - if (!$meta) { - echo "Aucune information disponible<br>\n"; - } - echo "<PRE> -max_length: $meta->max_length -name: $meta->name -not_null: $meta->not_null -table: $meta->table -type: $meta->type -</PRE>"; - $i++; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_field_seek</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-lengths"> - <refnamediv> - <refname>fbsql_fetch_lengths</refname> - <refpurpose> - Lit la taille de chaque colonne d'un résultat - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_lengths</function></funcdef> - <paramdef>resource - <parameter><optional>result</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_lengths</function> retourne un tableau contenant - les tailles maximales de chaque champs, dans la dernière ligne lue par - <function>fbsql_fetch_row</function> ou &false; en cas d'erreur. - </para> - <para> - <function>fbsql_fetch_lengths</function> stocke les tailles de - chaque ligne de résultat retourné par <function>fbsql_fetch_row</function>, - <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> - dans un tableau à indices numériques, commençant à 0. - </para> - <para> - Voir aussi - <function>fbsql_fetch_row</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-object"> - <refnamediv> - <refname>fbsql_fetch_object</refname> - <refpurpose>Lit une ligne de résultat sous forme d'objet</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>fbsql_fetch_object</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int - <parameter> - <optional>result_type</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_object</function> retourne un objet dont - les propriétés représentent les colonnes de la ligne à lire, dans - le résultat <parameter>result</parameter>, ou &false; - s'il n'y a pas de ligne à lire. - </para> - <para> - <function>fbsql_fetch_object</function> est similaire à - <function>fbsql_fetch_array</function>, à la différence qu'elle - retourne un objet. Nous ne pouvez alors accéder aux données qu'avec - les noms des colonnes, et sous la forme de membre d'objets, et non - plus avec leurs offset (les nombres ne peuvent représenter un membre - d'objet). - </para> - <para> - Le second argument optionnel <parameter>result_type</parameter> - de <function>fbsql_fetch_array</function> est une constante qui peut prendre - l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, - <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. - </para> - <para> - En terme de vitesse, cette fonction est identique à - <function>fbsql_fetch_array</function> et presque aussi rapide que - <function>fbsql_fetch_row</function> (la différence n'est pas - significative). - <example> - <title>Exemple avec <function>fbsql_fetch_object</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password); - $result = fbsql_db_query("database", "select * from table;"); - while ($row = fbsql_fetch_object($result)) { - echo $row->user_id; - echo $row->fullname; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fbsql_fetch_array</function> et - <function>fbsql_fetch_row</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-row"> - <refnamediv> - <refname>fbsql_fetch_row</refname> - <refpurpose>Lit une ligne de résultat sous forme de tableau numérique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_row</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_row</function> retourne un tableau représentant la ligne - courant dans le résultat <parameter>result</parameter>, ou bien - &false; s'il n'y a plus de lignes à lire. - </para> - <para> - <function>fbsql_fetch_row</function> lit une ligne de données dans le - résultat <parameter>result</parameter>, et crée un tableau - numérique. Chaque colonne est stockés dans un élément du tableau, dans le - même ordre que dans le résultat. Les indices commencent à 0. - </para> - <para> - Le prochain appel à <function>fbsql_fetch_row</function> va lire - la prochaine ligne, ou bien retourner &false; s'il n'y a plus - de lignes à lire. - </para> - <para> - Voir aussi - <function>fbsql_fetch_array</function>, - <function>fbsql_fetch_object</function>, - <function>fbsql_data_seek</function>, - <function>fbsql_fetch_lengths</function> et - <function>fbsql_result</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-flags"> - <refnamediv> - <refname>fbsql_field_flags</refname> - <refpurpose> - Lit les options associé à une colonne de résultat - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_flags</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_flags</function> retourne les options du - champs <parameter>field_offset</parameter>, dans le résultat - <parameter>field_offset</parameter>. Les options sont retournées - sous la forme d'un seul mot par option, séparées par des espaces, - de façons à faciliter la manipulation avec - <function>explode</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-name"> - <refnamediv> - <refname>fbsql_field_name</refname> - <refpurpose> - Lit le nom d'un champs - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_name</function></funcdef> - <paramdef>int <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_name</function> retourne le nom du champs - numéro <parameter>field_index</parameter> dans le résultat - <parameter>result</parameter>. <parameter>field_index</parameter> - est le résultat de <function>fbsql_query</function> et - <parameter>field_index</parameter> est l'offset numérique du - champs. - </para> - <note> - <para> - <parameter>field_index</parameter> commence à 0. - </para> - <para> - e.g. L'index du troisème champs est 2, et l'index du quatrième champs est - 3... - </para> - </note> - <para> - <example> - <title>Exemple avec <function>fbsql_field_name</function></title> - <programlisting role="php"> -<?php -// La tablea utilisateur est constituée de trois colonnes -// user_id -// username -// password. - $res = fbsql_db_query("users", "select * from users;", $link); - echo fbsql_field_name($res, 0) . "\n"; - echo fbsql_field_name($res, 2); -?> - </programlisting> - </example> - </para> - <para> - L'exemple ci-dessus va afficher : - <informalexample> - <programlisting> -user_id -password - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-len"> - <refnamediv> - <refname>fbsql_field_len</refname> - <refpurpose> - Retourne la taille d'un champs - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_field_len</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_len</function> retourne la taille - du champs <parameter>field_offset</parameter> dans le résultat - <parameter>result</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-seek"> - <refnamediv> - <refname>fbsql_field_seek</refname> - <refpurpose> - Déplace le pointeur de résultat - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_field_seek</function></funcdef> - <paramdef>int <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_seek</function> place le pointeur de colonne - à la colonne <parameter>field_offset</parameter>. Si ce paramètre - est omis, <function>fbsql_fetch_field</function> retourne le - numéro de colonne courant. - </para> - <para> - Voir aussi - <function>fbsql_fetch_field</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-table"> - <refnamediv> - <refname>fbsql_field_table</refname> - <refpurpose> - Lit le nom de la table d'origine d'un champs - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_table</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_table</function> retourn le nom de la - table d'où est issue le champs d'offset <parameter>field_offset</parameter>. - Les numéros de colonne commencent à 0. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-type"> - <refnamediv> - <refname>fbsql_field_type</refname> - <refpurpose> - Lit le type d'une colonne - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_type</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_type</function> est similaire à la fonction - <function>fbsql_field_name</function>. Les arguments sont - identiques, mais le type du champs est retourné. Il peut - valoir "int", "real", "string", "blob" ou d'autres valeurs, - comme décrit dans <ulink url="&url.fbsql.docs;">la documentation - FrontBase</ulink>. - <example> - <title>Exemple avec <function>fbsql_field_type</function></title> - <programlisting role="php"> -<?php - fbsql_connect("localhost:3306"); - fbsql_connect("localhost", "_SYSTEM", ""); - $result = fbsql_query("SELECT * FROM onek;"); - $fields = fbsql_num_fields($result); - $rows = fbsql_num_rows($result); - $i = 0; - $table = fbsql_field_table($result, $i); - echo "Votre table '".$table."' a ".$fields." colonnes et ".$rows." lignes <br>"; - echo "La table dispose des champs suivants <br>"; - while ($i < $fields) { - $type = fbsql_field_type ($result, $i); - $name = fbsql_field_name ($result, $i); - $len = fbsql_field_len ($result, $i); - $flags = fbsql_field_flags($result, $i); - echo $type." ".$name." ".$len." ".$flags."<br>"; - $i++; - } - fbsql_close(); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-free-result"> - <refnamediv> - <refname>fbsql_free_result</refname> - <refpurpose>Libère le résultat de la mémoire</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>fbsql_free_result</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_free_result</function> va libérer toute la mémoire - utilisée par le résultat associé à la ressource <parameter>result</parameter>. - </para> - <para> - <function>fbsql_free_result</function> n'a besoin d'être appelé que si vous - craignez que votre script ne va consommer trop de mémoire, lorsqu'une - requête retourne de très grand résultats. Toutes les ressources - mémoire utilisées par le script sont de toutes manières libérées à - la fin du script. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-insert-id"> - <refnamediv> - <refname>fbsql_insert_id</refname> - <refpurpose> - Lit le dernier identifiant généré par une requête INSERT - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_insert_id</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_insert_id</function> retourne l'identifiant généré - par la colonne de type DEFAULT UNIQUE, lors de la dernière requête - INSERT, avec la connexion <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la dernière connexion - ouverte est utilisée. - </para> - <para> - <function>fbsql_insert_id</function> retournera 0 si la dernière - requête n'a pas généré de valeur dans la colonne DEFAULT UNIQUE - Si vous devez sauver cette valeur pour plus tard, n'oubliez pas - d'appeler <function>fbsql_insert_id</function> tout de suite - après la requête qui a généré cette valeur. - </para> - <note> - <para> - La valeur de la fonction FrontBase SQL - "<literal>LAST_INSERT_ID()</literal>" retourne toujours la dernière - valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les - requêtes. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-dbs"> - <refnamediv> - <refname>fbsql_list_dbs</refname> - <refpurpose> - Liste les bases de données - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_list_dbs</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_list_dbs</function> retourne un résultat contenant la - liste des bases de données disponibles sur le serveur - <optional>link_identifier</optional>. Utilisez la fonction - <function>fbsql_tablename</function> pour passer en revue ce - résultat. - </para> - <para> - <example> - <title>Exemple avec <function>fbsql_list_dbs</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect('localhost', 'myname', 'secret'); - $db_list = fbsql_list_dbs($link); - while ($row = fbsql_fetch_object($db_list)) { - echo $row->Database . "\n"; - } -?> - </programlisting> - </example> - </para> - <para> - L'exemple ci-dessus va afficher ceci : - <informalexample> - <programlisting> -database1 -database2 -database3 -.. - </programlisting> - </informalexample> - </para> - <note> - <para> - L'exemple ci-dessus peut aussi bien fonctionner avec la fonction - <function>fbsql_fetch_row</function> ou toute autre similaire. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-fields"> - <refnamediv> - <refname>fbsql_list_fields</refname> - <refpurpose>Liste les champs d'un résultat FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_list_fields</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>string <parameter>table_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_list_fields</function> lit les informations à propos - de la table <parameter>table_name</parameter>, dans la base de données - <parameter>table_name</parameter>, sur la connexion - <parameter>link_identifier</parameter>. Un résultat de requête est - retourné, et pourra être utilisé avec les fonctions - <function>fbsql_field_flags</function>, - <function>fbsql_field_len</function>, - <function>fbsql_field_name</function> et - <function>fbsql_field_type</function>. - </para> - <para> - Un identifiant de résultat est une ressource PHP, représentée par - un entier positif. <function>fbsql_list_fields</function> retourne - -1 en cas d'erreur. Une chaîne décrivant l'erreur sera alors placée dans - la variable <literal>$phperrmsg</literal>. Un message d'erreur sera - aussi affiché, à moins que la fonction n'ai été appelée avec l'opérateur - de suppression des erreurs @. - </para> - <para> - <example> - <title>Exemple avec <function>fbsql_list_fields</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect('localhost', 'myname', 'secret'); - $fields = fbsql_list_fields("database1", "table1", $link); - $columns = fbsql_num_fields($fields); - for ($i = 0; $i < $columns; $i++) { - echo fbsql_field_name($fields, $i) . "\n";; - } -?> - </programlisting> - </example> - </para> - <para> - L'exemple ci-dessus va afficher : - <informalexample> - <programlisting> -field1 -field2 -field3 -.. - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-tables"> - <refnamediv> - <refname>fbsql_list_tables</refname> - <refpurpose>Liste les tables dans une base de données FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_list_tables</function></funcdef> - <paramdef>string <parameter>database</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_list_tables</function> liste les tables dans la base - de données <parameter>database</parameter>, et retourne un résultat, - tout comme <function>fbsql_db_query</function>. - <function>fbsql_tablename</function> sert à extraire la liste des tables - dans ce résultat. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-next-result"> - <refnamediv> - <refname>fbsql_next_result</refname> - <refpurpose>Déplace le pointeur interne vers le résultat suivant</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>fbsql_next_result</function></funcdef> - <paramdef>resource <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous - exécutez une procédure stockée avec de multiple résultats, cela va - conduire le serveur à retourner plusieurs jeu de lignes. - <function>fbsql_next_result</function> va vérifier l'existence de - plusieurs résultats disponibles sur le serveur. Si un autre - jeu de résultat existe, <function>fbsql_next_result</function> va - détruire de résultat précédent, et préparer la lecture dans les - nouvelles lignes. - </para> - <para> - <function>fbsql_next_result</function> retourne &true; si - un autre résultat est disponbile, ou &false; sinon. - </para> - <example> - <title>Exemple avec <function>fbsql_next_result</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret"); - fbsql_select_db("MyDB", $link); - $SQL = "Select * from table1; select * from table2;"; - $rs = fbsql_query($SQL, $link); - do { - while ($row = fbsql_fetch_row($rs)) {} - } while (fbsql_next_result($rs)); - fbsql_free_result($rs); - fbsql_close($link); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-num-fields"> - <refnamediv> - <refname>fbsql_num_fields</refname> - <refpurpose>Lit le nombre de champs dans un résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_num_fields</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_num_fields</function> retourne le nombre de champs - dans le résultat <parameter>result</parameter>. - </para> - <para> - Voir aussi - <function>fbsql_db_query</function>, - <function>fbsql_query</function>, - <function>fbsql_fetch_field</function> et - <function>fbsql_num_rows</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-num-rows"> - <refnamediv> - <refname>fbsql_num_rows</refname> - <refpurpose>Lit le nombre de lignes dans un résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_num_rows</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_num_rows</function> retourne le nombre de lignes - dans le résultat <parameter>result</parameter>. Cette fonction - n'est valable qu'avec les commandes SELECT. Pour connaître le nombre - de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez - <function>fbsql_affected_rows</function>. - <example> - <title>Exemple <function>fbsql_num_rows</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "username", "password"); - fbsql_select_db("database", $link); - $result = fbsql_query("SELECT * FROM table1;", $link); - $num_rows = fbsql_num_rows($result); - echo "$num_rows Rows\n"; -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fbsql_affected_rows</function>, - <function>fbsql_connect</function>, - <function>fbsql_select_db</function> et - <function>fbsql_query</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-pconnect"> - <refnamediv> - <refname>fbsql_pconnect</refname> - <refpurpose> - Ouvre une connexion persistante à un serveur FrontBase - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_pconnect</function></funcdef> - <paramdef>string - <parameter> - <optional>hostname</optional> - </parameter> - </paramdef> - <paramdef>string - <parameter><optional>username</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>password</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_pconnect</function> retourne une ressource représentant - la connection au serveur FrontBase en cas de succès, ou bien - &false; en cas d'erreur. - </para> - <para> - <function>fbsql_pconnect</function> établit une connexion - persistante à un serveur FrontBase. En cas d'omission, les valeurs - suivantes sont utilisées par défaut : - <parameter>host</parameter> ='localhost', - <parameter>username</parameter> = nom de l'utilisateur qui possède - le processus, et <parameter>password</parameter> = pas de mot de passe. - </para> - <para> - Pour choisir le port d'accès au serveur FrontBase, voyez - <function>fbsql_select_db</function>. - </para> - <para> - <function>fbsql_pconnect</function> se comporte comme - <function>fbsql_connect</function> avec deux différences majeures. - </para> - <para> - Premièrement, lors de la connexion, <function>fbsql_pconnect</function> - essaie de trouver une connexion permanante déjà ouverte sur - cet hote, avec le même nom d'utilisateur et de mot de passe. Si une - telle connexion est trouvée, son identifiant est retourné, - sans ouvrir de nouvelle connexion. - </para> - <para> - Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin - du script. Au lieu de cela, le lien sera conservé pour un prochain accès - (<function>fbsql_close</function> ne terminera pas une connexion persistante - établie par <function>fbsql_pconnect</function>). - </para> - <para> - C'est pourquoi ce type de connexion est dite 'persistante'. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-query"> - <refnamediv> - <refname>fbsql_query</refname> - <refpurpose>Exécute une requête sur un serveur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_query</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>resource - <parameter><optional>link_identifier</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_query</function> envoie la requête - <parameter>query</parameter> à la base de données courante, - sur le serveur représenté par sa connexion <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la dernière - connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, - <function>fbsql_query</function> essaie d'établir une connexion en - appelant la fonction <function>fbsql_connect</function> sans - aucun argument. - </para> - <note> - <para> - La requête doit être terminée par un point-virgule! - </para> - </note> - <para> - <function>fbsql_query</function> retourne une ressource - en cas de succès, ou &false;, en cas - d'échec. - </para> - <para> - La requête suivante est invalide, et <function>fbsql_query</function> - échouera puis retournera &false;: - <example> - <title>Exemple avec <function>fbsql_query</function>(1)</title> - <programlisting role="php"> -<?php - $result = fbsql_query("SELECT * WHERE 1=1;") - or die("Requête invalide"); -?> - </programlisting> - </example> - </para> - <para> - La requête suivante est invalide si <literal>my_col</literal> n'est pas - une colonne dans la table <literal>my_tbl</literal> : <function>fbsql_query</function> - échouera puis retournera &false; : - <example> - <title>Exemple avec <function>fbsql_query</function>(2)</title> - <programlisting role="php"> -<?php - $result = fbsql_query("SELECT my_col FROM my_tbl") - or die ("Invalid query"); -?> - </programlisting> - </example> - </para> - <para> - <function>fbsql_query</function> échouera si vous n'avez pas - les droits d'accès sur l'une des bases de données utilisée dans - la requête. - </para> - <para> - Lorsque la requête réussit, vous pouvez utilisez - <function>fbsql_num_rows</function> pour savoir combien de - lignes ont été retournée par une requête SELECT, ou bien - <function>fbsql_affected_rows</function> pour les autres - requêtes (DELETE, INSERT, REPLACE et UPDATE). - </para> - <para> - Pour les requêtes SELECT, <function>fbsql_query</function> retourne - une ressource de résultat, que vous pouvez passer à <function>fbsql_result</function>. - Lors vous avez fini de lire le résultat, vous pouvez libérer les - ressources utilisées en appelant - <function>fbsql_free_result</function>. Cependant, la mémoire sera automatiquement - libérée à la fin du script. - </para> - <para> - Voir aussi - <function>fbsql_affected_rows</function>, - <function>fbsql_db_query</function>, - <function>fbsql_free_result</function>, - <function>fbsql_result</function>, - <function>fbsql_select_db</function> et - <function>fbsql_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-result"> - <refnamediv> - <refname>fbsql_result</refname> - <refpurpose>Lit des données dans un résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>fbsql_result</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>row</parameter></paramdef> - <paramdef>mixed - <parameter> - <optional>field</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_result</function> lit le contenu du champs - <parameter>field</parameter>, dans la ligne <parameter>row</parameter>, - du résultat <parameter>result</parameter>. L'argument - <parameter>field</parameter> peut être l'offset du champs, ou bien - son nom, ou bien le nom de sa table plus point plus son nom. Si la - colonne a été aliasée, utilisez de préférence l'alias. - </para> - <para> - Lorsque vous travaillez sur de grands résultats, il est vivement - recommandé d'utiliser les fonctions qui lisent toute une ligne - d'un coup, plutôt que <function>fbsql_result</function> qui - travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi - que les offset numériques sont plus rapides que les offset - nominaux. - </para> - <para> - L'utilisation de <function>fbsql_result</function> ne doivent pas - être mélangé avec d'autres fonctions qui utilisent aussi le résultat - <parameter>result</parameter>. - </para> - <para> - Alternative vivement recommandées : - <function>fbsql_fetch_row</function>, - <function>fbsql_fetch_array</function> et - <function>fbsql_fetch_object</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-select-db"> - <refnamediv> - <refname>fbsql_select_db</refname> - <refpurpose>Sélectionne une base de données FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_select_db</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_select_db</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_select_db</function> remplace la base de données - active courante par <parameter>database_name</parameter>, sur la - connexion ouverte et représentée par <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la dernière - connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, - <function>fbsql_select_db</function> essaiera de se connecter - en appelant <function>fbsql_connect</function> sans argument. - </para> - <para> - Le client contacte FBExec pour connaître le numéro de port à utiliser - pour la connexion à la base de données. Si le nom de la base est un - numéro, le système l'utilisera comme numéro de port, et ne - le demandera pas à FBExec. Le serveur Frontbase peut être - démarré avec la commande : - <literal>FRontBase -FBExec=No -port=<port number> <database name></literal>. - </para> - <para> - Tous les prochains appel à <function>fbsql_query</function> se feront - dans la base <parameter>database_name</parameter>. - </para> - <para> - Voir aussi - <function>fbsql_connect</function>, - <function>fbsql_pconnect</function> et - <function>fbsql_query</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-tablename"> - <refnamediv> - <refname>fbsql_tablename</refname> - <refpurpose>Lit le nom de la table d'un champs</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_tablename</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>i</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_tablename</function> retourne le nom de la - table d'origine du champs <parameter>i</parameter>, dans le résultat - <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> - peut être utilisée pour connaître le nombre de tables dans un - résultat. - <example> - <title>Exemple avec <function>fbsql_tablename</function></title> - <programlisting role="php"> -<?php - fbsql_connect("localhost:3306"); - $result = fbsql_list_tables("wisconsin"); - $i = 0; - while ($i < fbsql_num_rows($result)) { - $tb_names[$i] = fbsql_tablename($result, $i); - echo $tb_names[$i] . "<br>"; - $i++; - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-warnings"> - <refnamediv> - <refname>fbsql_warnings</refname> - <refpurpose>Active ou désactive les alertes FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_warnings</function></funcdef> - <paramdef>boolean - <parameter> - <optional>OnOff</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_warnings</function> retourne &true; si - les alertes sont actives et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_warnings</function> active ou désactive les alertes - FrontBase suivant que <parameter>OnOff</parameter> est à &true; - ou &false;. - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.7 $ --><reference id="ref.fbsql"> <title>FrontBase</title> <titleabbrev>FrontBase</titleabbrev> <partintro> &warn.experimental; <simpara> Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Pour pouvoir les utiliser, vous devez compiler PHP avec le support fbsql en utilisant l'option <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql</option></link>. Si vous utilisez cette option sans spécifier le chemin jusqu'à l'installation fbsql, PHP recherchera les librairies du client fbsql dans les dossiers habituels, sur votre système. Les utilisateurs qui ont installé FrontBase dans un dossier non standard doivent spécifier le chemin comme ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. Cela va indiquer à PHP le bon emplacement des librairies de FrontBase, et éviter les conflits. </simpara> <simpara> Plus d'informations sur FrontBase sont disponibles à <ulink url="&url.fbsql;">&url.fbsql;</ulink>. </simpara> <simpara> La documentation complète de FrontBase est disponible à <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. </simpara> <simpara> Le support de Frontbase a été ajouté en PHP 4.0.6. </simpara> </partintro> <refentry id="function.fbsql-affected-rows"> <refnamediv> <refname>fbsql_affected_rows</refname> <refpurpose> Lit le nombre de ligne affectées par la dernière requête </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_affected_rows</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_affected_rows</function> retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, effectuée avec la connexion représentée par <parameter>link_identifier</parameter>. Si ce dernier n'est pas spécifié, c'est la dernière connexion ouverte par <function>fbsql_connect</function> qui sera utilisée. </para> <note> <para> Si vous utilisez les transactions, vous devez appeler <function>fbsql_affected_rows</function> après votre requête INSERT, UPDATE ou DELETE, mais pas après la validation. </para> </note> <para> Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes les lignes seront effacées, mais <function>fbsql_affected_rows</function> retournera 0. </para> <note> <para> Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les anciennes valeurs sont égales aux nouvelles. Cela fait que <function>fbsql_affected_rows</function> ne retournera pas le nombre de ligne traitées, mais le nombre de lignes affectées (modifiées) par la requête. </para> </note> <para> Si la dernière requête échoue, <function>fbsql_affected_rows</function> retourne -1. </para> <para> Voir aussi <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-autocommit"> <refnamediv> <refname>fbsql_autocommit</refname> <refpurpose>Active ou désactive la validation automatique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_autocommit</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter> </paramdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_autocommit</function> retourne l'état courant de la validation automatique, pour la connexion <parameter>link_identifier</parameter>. Si le paramètre <parameter>OnOff</parameter> est fourni, et vaut &true;, FBSQL va se mettre en mode d'auto-validation, et les requêtes seront validées automatiquement si aucune erreur n'est trouveé. Si le paramètre <parameter>OnOff</parameter> est fourni, et vaut &false;, FBSQL va se mettre en mode de validation manuelle, et les requêtes seront validées par l'appel de la fonction <function>fbsql_commit</function> ou annulées par <function>fbsql_rollback</function>. </para> <para> Voir aussi <function>fbsql_commit</function> et <function>fbsql_rollback</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-change-user"> <refnamediv> <refname>fbsql_change_user</refname> <refpurpose> Change le nom d'utilisateur de la session active </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_change_user</function></funcdef> <paramdef>string <parameter>user</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>string <parameter> <optional>database</optional> </parameter> </paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_change_user</function> change le nom de l'utilisateur courant sur la session active courante, ou sur <parameter>link_identifier</parameter>. Si une base de données est spécifiée avec le paramètre <parameter>database</parameter>, elle deviendra la base par défaut du nouvel utilisateur. Le nouvel utilisateur doit être spécifié par son login (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). Si l'authentification échoue, la session courante restera ouverte. </para> </refsect1> </refentry> <refentry id="function.fbsql-close"> <refnamediv> <refname>fbsql_close</refname> <refpurpose>Ferme la connexion FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_close</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_close</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_close</function> ferme la connexion au serveur FrontBase associé à la ressource <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, c'est la dernière connexion ouverte qui sera fermée. </para> <para> Utiliser <function>fbsql_close</function> n'est pas nécessaire, car les liens non persistants seront automatiquement fermé à la fin du script. </para> <example> <title>Exemple avec <function>fbsql_close</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connecté!"); fbsql_close($link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_connect</function> et <function>fbsql_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-commit"> <refnamediv> <refname>fbsql_commit</refname> <refpurpose>Valide une transaction</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_commit</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_commit</function> retourne &true; en cas de succès, et &false; sinon. </para> <para> <function>fbsql_commit</function> termine la transaction courante en sauvant toutes les insertions, modifications et effacements sur le serveur, puis en relachant tous les verrous qui ont étés posés sur les tables. Cette commande n'est nécessaire que si FBSQL est en mode de validation manuelle. </para> <para> Voir aussi <function>fbsql_autocommit</function> et <function>fbsql_rollback</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-connect"> <refnamediv> <refname>fbsql_connect</refname> <refpurpose>Ouvre une connexion à un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_connect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>username</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>password</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_connect</function> retourne une ressource de connexion positive en cas de succès, ou un message d'erreur en cas d'échec. </para> <para> <function>fbsql_connect</function> établit une connexion avec un serveur FrontBase. Les valeur suivantes sont utilisées, en cas d'omission : <parameter>hostname</parameter> = '&null;', <parameter>username</parameter> = '_SYSTEM' et <parameter>password</parameter> = "" (pas de mot de passe). </para> <para> Si un deuxième appel est fait à <function>fbsql_connect</function> avec les mêmes arguments, une nouvelle connexion ne sera pas générée, mais la connexion déjà ouverte sera reutilisée, et retournée. </para> <para> La connexion au serveur sera fermée dès la fin du scrpit, à moins qu'elle ne soit explicitement terminée plus tôt, avec la fonction <function>fbsql_close</function>. </para> <example> <title>Exemple avec <function>fbsql_connect</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connected successfully"); fbsql_close($link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_pconnect</function> et <function>fbsql_close</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-db"> <refnamediv> <refname>fbsql_create_db</refname> <refpurpose>Crée une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_create_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_db</function> crée une nouvelle base de données, nommée <parameter>database_name</parameter>, sur le serveur repéré par la ressource <parameter>link_identifier</parameter>. </para> <example> <title>Exemle avec <function>fbsql_create_db</function></title> <programlisting role="php"><?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); if (fbsql_create_db("my_db")) { print("Base de données créée!\n"); } else { printf("Erreur de création de la base de données : %s\n", fbsql_error()); }?> </programlisting> </example> <para> Voir aussi <function>fbsql_drop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-blob"> <refnamediv> <refname>fbsql_create_blob</refname> <refpurpose>Crée un BLOB</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_create_blob</function></funcdef> <paramdef>string <parameter>blob_data</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_blob</function> retourne une ressource qui représente le nouveau BLOB. </para> <para> <function>fbsql_create_blob</function> crée un blob à partir des données fournies par <parameter>blob_data</parameter>. La ressource retournée est nécessaire aux commandes de modification et d'insertion, pour sauver le BLOB dans la base de données. </para> <example> <title>Exemple avec <function>fbsql_create_blob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $filename = "blobfile.bin"; $fp = fopen($filename, "rb"); $blobdata = fread($fp, filesize($filename)); fclose($fp); $blobHandle = fbsql_create_blob($blobdata, $link); $sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);"; $rs = fbsql_query($sql, $link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_clob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-clob"> <refnamediv> <refname>fbsql_create_clob</refname> <refpurpose>Crée un CLOB</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_create_clob</function></funcdef> <paramdef>string <parameter>clob_data</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_clob</function> retourne une ressource qui représente le nouveau CLOB. </para> <para> <function>fbsql_create_clob</function> crée un clob à partir des données fournies par <parameter>clob_data</parameter>. La ressource retournée est nécessaire aux commandes de modification et d'insertion, pour sauver le BLOB dans la base de données. creates a clob from </para> <example> <title>Exemple avec <function>fbsql_create_clob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $filename = "clob_file.txt"; $fp = fopen($filename, "rb"); $clobdata = fread($fp, filesize($filename)); fclose($fp); $clobHandle = fbsql_create_clob($clobdata, $link); $sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);"; $rs = fbsql_query($sql, $link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-database-password"> <refnamediv> <refname>fbsql_database_password</refname> <refpurpose> Modifie/lit le mot de passe dans une base FBSQL </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_database_password</function> </funcdef> <paramdef>resource <parameter>link_identifier</parameter></paramdef> <paramdef>string <parameter><optional>database_password</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_database_password</function> retourne le mot de passe du serveur représenté par <parameter>link_identifier</parameter>. </para> <para> <function>fbsql_database_password</function> modifie et lit le mot de passe de la base de données courante. Si le second paramètre <parameter>database_password</parameter> est fourni, <function>fbsql_database_password</function> remplacera le mot de passe courant par celui-ci. Si aucun serveur n'est précisé car le paramètre <parameter>link_identifier</parameter> n'est pas fourni, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouvertem PHP essaiera d'en ouvrir une en appelant la fonction <function>fbsql_connect</function>, et en utilisant la connexion qui en résultera (si elle réussit). </para> <para> Voir aussi <function>fbsql_connect</function> et <function>fbsql_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-data-seek"> <refnamediv> <refname>fbsql_data_seek</refname> <refpurpose>Déplace le pointeur interne de résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_data_seek</function></funcdef> <paramdef>int <parameter>result_identifier</parameter></paramdef> <paramdef>int <parameter>row_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_data_seek</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_data_seek</function> déplace le pointeur interne de ligne dans le résultat de requête <parameter>result_identifier</parameter> jusqu'à la ligne <parameter>row_number</parameter>. Le prochain appel à <function>fbsql_fetch_row</function> retournera cette ligne. </para> <para> Les lignes sont numérotées à partir de 0. </para> <example> <title>Exemple avec <function>fbsql_data_seek</function></title> <programlisting role="php"><?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); fbsql_select_db("samp_db") or die ("Impossible de sélectionner une base"); $query = "SELECT last_name, first_name FROM friends;"; $result = fbsql_query($query) or die ("Query failed");// Lecture des lignes en ordre inverse for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) { if (!fbsql_data_seek($result, $i)) { printf ("Impossible d'accéder à la ligne %d\n", $i); continue; } if(!($row = fbsql_fetch_object($result))) continue; printf ("%s %s<BR>\n", $row->last_name, $row->first_name); } fbsql_free_result($result);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-db-query"> <refnamediv> <refname>fbsql_db_query</refname> <refpurpose>Envoie une requête à la base FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_db_query</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_db_query</function> retourne une ressource positive représentant un résultat de requête en cas de succès, et &false; en cas d'erreur. </para> <para> <function>fbsql_db_query</function> sélectionne la base <parameter>database</parameter> et y exécute la requête <parameter>query</parameter>. Si le paramètre optionnel <parameter>link_identifier</parameter> est spécifié, <function>fbsql_db_query</function> travaillera sur cette connexion. S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser la dernière connexion ouverte. Si aucune connexion n'a été ouverte, <function>fbsql_db_query</function> essaiera de se connecter automatiquement en appelant la fonction <function>fbsql_connect</function>, sans arguments. </para> <para> Voir aussi <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-db-status"> <refnamediv> <refname>fbsql_db_status</refname> <refpurpose>Lit le statut courant d'une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_db_status</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_db_status</function> retourne un entier représentant le statut courant. </para> <para> <function>fbsql_db_status</function> demande le statut de la base de données nommée <parameter>database_name</parameter>. Si le paramètre <parameter>link_identifier</parameter> est omis, la connexion par défaut sera utilisée. </para> <para> La valeur de l'entier peut être l'une des suivantes : <itemizedlist> <listitem> <simpara> &false; - Le gestion de cet hôte était invalide. Cette erreur survient lorsque PHP se connecter directement à une base de données en utilisant un numéro de port. FBExec peut être disponible sur un serveur, mais aucune connexion n'a été faite. </simpara> </listitem> <listitem> <simpara> FBSQL_UNKNOWN - Le statut est inconnu. </simpara> </listitem> <listitem> <simpara> FBSQL_STOPPED - La base de données ne fonctionne pas. Utilisez <function>fbsql_start_db</function> pour démarrer la base. </simpara> </listitem> <listitem> <simpara> FBSQL_STARTING - La base de données démarre. </simpara> </listitem> <listitem> <simpara> FBSQL_RUNNING - La base de données fonctionne, et est disponible pour recevoir des requêtes SQL. </simpara> </listitem> <listitem> <simpara> FBSQL_STOPPING - La base de données s'arrête. </simpara> </listitem> <listitem> <simpara> FBSQL_NOEXEC - FBExec ne fonctionne par sur le serveur, et il n'est pas possible d'obtenir le statut de la base de données. </simpara> </listitem> </itemizedlist> </para> <para> Voir aussi <function>fbsql_start_db</function> et <function>fbsql_stop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-drop-db"> <refnamediv> <refname>fbsql_drop_db</refname> <refpurpose>Supprime une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_drop_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_drop_db</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_drop_db</function> essaie de supprimer la base de données <parameter>database_name</parameter>, sur la connexion représentée par <parameter>link_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-errno"> <refnamediv> <refname>fbsql_errno</refname> <refpurpose>Retourne le code d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_errno</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_errno</function> retourne le code d'erreur de la dernière connexion FrontBase, ou bien <literal>0</literal> (zéro) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"><?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>";?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_error</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-error"> <refnamediv> <refname>fbsql_error</refname> <refpurpose>Retourne le message d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_error</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_error</function> retourne le dernier message d'erreur généré par le serveur FrontBase, ou bien <literal>''</literal> (chaîne vide) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"><?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>";?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_errno</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-array"> <refnamediv> <refname>fbsql_fetch_array</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_array</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_array</function> retourne un tableau contenant la ligne courante du résultat <parameter>result</parameter>, ou &false; s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_array</function> est une version améliorée de <function>fbsql_fetch_row</function>. En plus de stocker les données dans un tableau à indice numérique, elle les stocke aussi sous forme de tableau associatif, dont les indices sont les noms des colonnes. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser les indices numériques. <informalexample> <programlisting>select t1.f1 as foo t2.f1 as bar from t1, t2; </programlisting> </informalexample> </para> <para> Il est important de noter que <function>fbsql_fetch_array</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_assoc</function>. </para> <example> <title>Exemple avec <function>fbsql_fetch_array</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password); $result = fbsql_db_query("database","select user_id, fullname from table"); while ($row = fbsql_fetch_array($result)) { echo "user_id: ".$row["user_id"]."<br>\n"; echo "user_id: ".$row[0]."<br>\n"; echo "fullname: ".$row["fullname"]."<br>\n"; echo "fullname: ".$row[1]."<br>\n"; } fbsql_free_result($result);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-assoc"> <refnamediv> <refname>fbsql_fetch_assoc</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau associatif </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_assoc</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_assoc</function> retourne un tableau associatif contenant la ligne courante du résultat <parameter>result</parameter>, ou &false; s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_assoc</function> est équivalent à <function>fbsql_fetch_array</function> avec l'option <literal>FBSQL_ASSOC</literal>. Elle ne retourne qu'un tableau associatif. C'est le comportement initial de <function>fbsql_fetch_array</function>. Si vous avez aussi besoin des indices numériques, utilisez <function>fbsql_fetch_array</function>. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser la fonction <function>fbsql_fetch_array</function>. </para> <para> Il est important de noter que <function>fbsql_fetch_assoc</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_array</function>. </para> <example> <title>Exemple avec <function>fbsql_fetch_assoc</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password); $result = fbsql_db_query("database","select * from table;"); while ($row = fbsql_fetch_assoc($result)) { echo $row["user_id"]; echo $row["fullname"]; } fbsql_free_result($result);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-field"> <refnamediv> <refname>fbsql_fetch_field</refname> <refpurpose> Lit des informations sur une colonne dans un résultat, et retourne un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_field</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>field_offset</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_field</function> retourne une objet contenant les informations sur un champs, dans le résultat <parameter>result</parameter>. </para> <para> <function>fbsql_fetch_field</function> sert à lire des informations sur les champs dans le résultat <parameter>result</parameter>. Si le second paramètre <parameter>field_offset</parameter> n'est pas spécifié, le champs suivant est lu. </para> <para> Les propriétés de l'objet sont : <itemizedlist> <listitem> <simpara> name - Nom de colonne </simpara> </listitem> <listitem> <simpara> table - Nom de la table d'origine </simpara> </listitem> <listitem> <simpara> max_length - Taille maximale de la colonne </simpara> </listitem> <listitem> <simpara> not_null - 1 si la colonne ne peut être nulle </simpara> </listitem> <listitem> <simpara> type - Type de la colonne </simpara> </listitem> </itemizedlist> </para> <example> <title>Exemple avec <function>fbsql_fetch_field</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password) or die ("Impossible de se connecter"); $result = fbsql_db_query("database", "select * from table;") or die ("Query failed");// lire les données de colonnes $i = 0; while ($i < fbsql_num_fields($result)) { echo "Information de la colonne $i:<br>\n"; $meta = fbsql_fetch_field($result); if (!$meta) { echo "Aucune information disponible<br>\n"; } echo "<PRE>max_length: $meta->max_lengthname: $meta->namenot_null: $meta->not_nulltable: $meta->tabletype: $meta->type</PRE>"; $i++; } fbsql_free_result($result);?> </programlisting> </example> <para> Voir aussi <function>fbsql_field_seek</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-lengths"> <refnamediv> <refname>fbsql_fetch_lengths</refname> <refpurpose> Lit la taille de chaque colonne d'un résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_lengths</function></funcdef> <paramdef>resource <parameter><optional>result</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_lengths</function> retourne un tableau contenant les tailles maximales de chaque champs, dans la dernière ligne lue par <function>fbsql_fetch_row</function> ou &false; en cas d'erreur. </para> <para> <function>fbsql_fetch_lengths</function> stocke les tailles de chaque ligne de résultat retourné par <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> dans un tableau à indices numériques, commençant à 0. </para> <para> Voir aussi <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-object"> <refnamediv> <refname>fbsql_fetch_object</refname> <refpurpose>Lit une ligne de résultat sous forme d'objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_object</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_object</function> retourne un objet dont les propriétés représentent les colonnes de la ligne à lire, dans le résultat <parameter>result</parameter>, ou &false; s'il n'y a pas de ligne à lire. </para> <para> <function>fbsql_fetch_object</function> est similaire à <function>fbsql_fetch_array</function>, à la différence qu'elle retourne un objet. Nous ne pouvez alors accéder aux données qu'avec les noms des colonnes, et sous la forme de membre d'objets, et non plus avec leurs offset (les nombres ne peuvent représenter un membre d'objet). </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> En terme de vitesse, cette fonction est identique à <function>fbsql_fetch_array</function> et presque aussi rapide que <function>fbsql_fetch_row</function> (la différence n'est pas significative). <example> <title>Exemple avec <function>fbsql_fetch_object</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password); $result = fbsql_db_query("database", "select * from table;"); while ($row = fbsql_fetch_object($result)) { echo $row->user_id; echo $row->fullname; } fbsql_free_result($result);?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_fetch_array</function> et <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-row"> <refnamediv> <refname>fbsql_fetch_row</refname> <refpurpose>Lit une ligne de résultat sous forme de tableau numérique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_row</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_row</function> retourne un tableau représentant la ligne courant dans le résultat <parameter>result</parameter>, ou bien &false; s'il n'y a plus de lignes à lire. </para> <para> <function>fbsql_fetch_row</function> lit une ligne de données dans le résultat <parameter>result</parameter>, et crée un tableau numérique. Chaque colonne est stockés dans un élément du tableau, dans le même ordre que dans le résultat. Les indices commencent à 0. </para> <para> Le prochain appel à <function>fbsql_fetch_row</function> va lire la prochaine ligne, ou bien retourner &false; s'il n'y a plus de lignes à lire. </para> <para> Voir aussi <function>fbsql_fetch_array</function>, <function>fbsql_fetch_object</function>, <function>fbsql_data_seek</function>, <function>fbsql_fetch_lengths</function> et <function>fbsql_result</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-flags"> <refnamediv> <refname>fbsql_field_flags</refname> <refpurpose> Lit les options associé à une colonne de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_flags</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_flags</function> retourne les options du champs <parameter>field_offset</parameter>, dans le résultat <parameter>field_offset</parameter>. Les options sont retournées sous la forme d'un seul mot par option, séparées par des espaces, de façons à faciliter la manipulation avec <function>explode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-name"> <refnamediv> <refname>fbsql_field_name</refname> <refpurpose> Lit le nom d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_name</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_name</function> retourne le nom du champs numéro <parameter>field_index</parameter> dans le résultat <parameter>result</parameter>. <parameter>field_index</parameter> est le résultat de <function>fbsql_query</function> et <parameter>field_index</parameter> est l'offset numérique du champs. </para> <note> <para> <parameter>field_index</parameter> commence à 0. </para> <para> e.g. L'index du troisème champs est 2, et l'index du quatrième champs est 3... </para> </note> <para> <example> <title>Exemple avec <function>fbsql_field_name</function></title> <programlisting role="php"><?php// La tablea utilisateur est constituée de trois colonnes// user_id// username// password. $res = fbsql_db_query("users", "select * from users;", $link); echo fbsql_field_name($res, 0) . "\n"; echo fbsql_field_name($res, 2);?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting>user_idpassword </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-field-len"> <refnamediv> <refname>fbsql_field_len</refname> <refpurpose> Retourne la taille d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_field_len</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_len</function> retourne la taille du champs <parameter>field_offset</parameter> dans le résultat <parameter>result</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-seek"> <refnamediv> <refname>fbsql_field_seek</refname> <refpurpose> Déplace le pointeur de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_field_seek</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_seek</function> place le pointeur de colonne à la colonne <parameter>field_offset</parameter>. Si ce paramètre est omis, <function>fbsql_fetch_field</function> retourne le numéro de colonne courant. </para> <para> Voir aussi <function>fbsql_fetch_field</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-table"> <refnamediv> <refname>fbsql_field_table</refname> <refpurpose> Lit le nom de la table d'origine d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_table</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_table</function> retourn le nom de la table d'où est issue le champs d'offset <parameter>field_offset</parameter>. Les numéros de colonne commencent à 0. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-type"> <refnamediv> <refname>fbsql_field_type</refname> <refpurpose> Lit le type d'une colonne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_type</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_type</function> est similaire à la fonction <function>fbsql_field_name</function>. Les arguments sont identiques, mais le type du champs est retourné. Il peut valoir "int", "real", "string", "blob" ou d'autres valeurs, comme décrit dans <ulink url="&url.fbsql.docs;">la documentation FrontBase</ulink>. <example> <title>Exemple avec <function>fbsql_field_type</function></title> <programlisting role="php"><?php fbsql_connect("localhost:3306"); fbsql_connect("localhost", "_SYSTEM", ""); $result = fbsql_query("SELECT * FROM onek;"); $fields = fbsql_num_fields($result); $rows = fbsql_num_rows($result); $i = 0; $table = fbsql_field_table($result, $i); echo "Votre table '".$table."' a ".$fields." colonnes et ".$rows." lignes <br>"; echo "La table dispose des champs suivants <br>"; while ($i < $fields) { $type = fbsql_field_type ($result, $i); $name = fbsql_field_name ($result, $i); $len = fbsql_field_len ($result, $i); $flags = fbsql_field_flags($result, $i); echo $type." ".$name." ".$len." ".$flags."<br>"; $i++; } fbsql_close();?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-free-result"> <refnamediv> <refname>fbsql_free_result</refname> <refpurpose>Libère le résultat de la mémoire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_free_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_free_result</function> va libérer toute la mémoire utilisée par le résultat associé à la ressource <parameter>result</parameter>. </para> <para> <function>fbsql_free_result</function> n'a besoin d'être appelé que si vous craignez que votre script ne va consommer trop de mémoire, lorsqu'une requête retourne de très grand résultats. Toutes les ressources mémoire utilisées par le script sont de toutes manières libérées à la fin du script. </para> </refsect1> </refentry> <refentry id="function.fbsql-insert-id"> <refnamediv> <refname>fbsql_insert_id</refname> <refpurpose> Lit le dernier identifiant généré par une requête INSERT </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_insert_id</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_insert_id</function> retourne l'identifiant généré par la colonne de type DEFAULT UNIQUE, lors de la dernière requête INSERT, avec la connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. </para> <para> <function>fbsql_insert_id</function> retournera 0 si la dernière requête n'a pas généré de valeur dans la colonne DEFAULT UNIQUE Si vous devez sauver cette valeur pour plus tard, n'oubliez pas d'appeler <function>fbsql_insert_id</function> tout de suite après la requête qui a généré cette valeur. </para> <note> <para> La valeur de la fonction FrontBase SQL "<literal>LAST_INSERT_ID()</literal>" retourne toujours la dernière valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les requêtes. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-dbs"> <refnamediv> <refname>fbsql_list_dbs</refname> <refpurpose> Liste les bases de données </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_dbs</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_dbs</function> retourne un résultat contenant la liste des bases de données disponibles sur le serveur <optional>link_identifier</optional>. Utilisez la fonction <function>fbsql_tablename</function> pour passer en revue ce résultat. </para> <para> <example> <title>Exemple avec <function>fbsql_list_dbs</function></title> <programlisting role="php"><?php $link = fbsql_connect('localhost', 'myname', 'secret'); $db_list = fbsql_list_dbs($link); while ($row = fbsql_fetch_object($db_list)) { echo $row->Database . "\n"; }?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher ceci : <informalexample> <programlisting>database1database2database3.. </programlisting> </informalexample> </para> <note> <para> L'exemple ci-dessus peut aussi bien fonctionner avec la fonction <function>fbsql_fetch_row</function> ou toute autre similaire. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-fields"> <refnamediv> <refname>fbsql_list_fields</refname> <refpurpose>Liste les champs d'un résultat FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_fields</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>string <parameter>table_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_fields</function> lit les informations à propos de la table <parameter>table_name</parameter>, dans la base de données <parameter>table_name</parameter>, sur la connexion <parameter>link_identifier</parameter>. Un résultat de requête est retourné, et pourra être utilisé avec les fonctions <function>fbsql_field_flags</function>, <function>fbsql_field_len</function>, <function>fbsql_field_name</function> et <function>fbsql_field_type</function>. </para> <para> Un identifiant de résultat est une ressource PHP, représentée par un entier positif. <function>fbsql_list_fields</function> retourne -1 en cas d'erreur. Une chaîne décrivant l'erreur sera alors placée dans la variable <literal>$phperrmsg</literal>. Un message d'erreur sera aussi affiché, à moins que la fonction n'ai été appelée avec l'opérateur de suppression des erreurs @. </para> <para> <example> <title>Exemple avec <function>fbsql_list_fields</function></title> <programlisting role="php"><?php $link = fbsql_connect('localhost', 'myname', 'secret'); $fields = fbsql_list_fields("database1", "table1", $link); $columns = fbsql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { echo fbsql_field_name($fields, $i) . "\n";; }?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting>field1field2field3.. </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-list-tables"> <refnamediv> <refname>fbsql_list_tables</refname> <refpurpose>Liste les tables dans une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_tables</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_tables</function> liste les tables dans la base de données <parameter>database</parameter>, et retourne un résultat, tout comme <function>fbsql_db_query</function>. <function>fbsql_tablename</function> sert à extraire la liste des tables dans ce résultat. </para> </refsect1> </refentry> <refentry id="function.fbsql-next-result"> <refnamediv> <refname>fbsql_next_result</refname> <refpurpose>Déplace le pointeur interne vers le résultat suivant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_next_result</function></funcdef> <paramdef>resource <parameter>result_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous exécutez une procédure stockée avec de multiple résultats, cela va conduire le serveur à retourner plusieurs jeu de lignes. <function>fbsql_next_result</function> va vérifier l'existence de plusieurs résultats disponibles sur le serveur. Si un autre jeu de résultat existe, <function>fbsql_next_result</function> va détruire de résultat précédent, et préparer la lecture dans les nouvelles lignes. </para> <para> <function>fbsql_next_result</function> retourne &true; si un autre résultat est disponbile, ou &false; sinon. </para> <example> <title>Exemple avec <function>fbsql_next_result</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "_SYSTEM", "secret"); fbsql_select_db("MyDB", $link); $SQL = "Select * from table1; select * from table2;"; $rs = fbsql_query($SQL, $link); do { while ($row = fbsql_fetch_row($rs)) {} } while (fbsql_next_result($rs)); fbsql_free_result($rs); fbsql_close($link);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-num-fields"> <refnamediv> <refname>fbsql_num_fields</refname> <refpurpose>Lit le nombre de champs dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_fields</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_fields</function> retourne le nombre de champs dans le résultat <parameter>result</parameter>. </para> <para> Voir aussi <function>fbsql_db_query</function>, <function>fbsql_query</function>, <function>fbsql_fetch_field</function> et <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-num-rows"> <refnamediv> <refname>fbsql_num_rows</refname> <refpurpose>Lit le nombre de lignes dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_rows</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_rows</function> retourne le nombre de lignes dans le résultat <parameter>result</parameter>. Cette fonction n'est valable qu'avec les commandes SELECT. Pour connaître le nombre de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez <function>fbsql_affected_rows</function>. <example> <title>Exemple <function>fbsql_num_rows</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "username", "password"); fbsql_select_db("database", $link); $result = fbsql_query("SELECT * FROM table1;", $link); $num_rows = fbsql_num_rows($result); echo "$num_rows Rows\n";?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_connect</function>, <function>fbsql_select_db</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-pconnect"> <refnamediv> <refname>fbsql_pconnect</refname> <refpurpose> Ouvre une connexion persistante à un serveur FrontBase </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_pconnect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter><optional>username</optional></parameter> </paramdef> <paramdef>string <parameter><optional>password</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_pconnect</function> retourne une ressource représentant la connection au serveur FrontBase en cas de succès, ou bien &false; en cas d'erreur. </para> <para> <function>fbsql_pconnect</function> établit une connexion persistante à un serveur FrontBase. En cas d'omission, les valeurs suivantes sont utilisées par défaut : <parameter>host</parameter> ='localhost', <parameter>username</parameter> = nom de l'utilisateur qui possède le processus, et <parameter>password</parameter> = pas de mot de passe. </para> <para> Pour choisir le port d'accès au serveur FrontBase, voyez <function>fbsql_select_db</function>. </para> <para> <function>fbsql_pconnect</function> se comporte comme <function>fbsql_connect</function> avec deux différences majeures. </para> <para> Premièrement, lors de la connexion, <function>fbsql_pconnect</function> essaie de trouver une connexion permanante déjà ouverte sur cet hote, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion. </para> <para> Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès (<function>fbsql_close</function> ne terminera pas une connexion persistante établie par <function>fbsql_pconnect</function>). </para> <para> C'est pourquoi ce type de connexion est dite 'persistante'. </para> </refsect1> </refentry> <refentry id="function.fbsql-query"> <refnamediv> <refname>fbsql_query</refname> <refpurpose>Exécute une requête sur un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_query</function></funcdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter><optional>link_identifier</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_query</function> envoie la requête <parameter>query</parameter> à la base de données courante, sur le serveur représenté par sa connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_query</function> essaie d'établir une connexion en appelant la fonction <function>fbsql_connect</function> sans aucun argument. </para> <note> <para> La requête doit être terminée par un point-virgule! </para> </note> <para> <function>fbsql_query</function> retourne une ressource en cas de succès, ou &false;, en cas d'échec. </para> <para> La requête suivante est invalide, et <function>fbsql_query</function> échouera puis retournera &false;: <example> <title>Exemple avec <function>fbsql_query</function>(1)</title> <programlisting role="php"><?php $result = fbsql_query("SELECT * WHERE 1=1;") or die("Requête invalide");?> </programlisting> </example> </para> <para> La requête suivante est invalide si <literal>my_col</literal> n'est pas une colonne dans la table <literal>my_tbl</literal> : <function>fbsql_query</function> échouera puis retournera &false; : <example> <title>Exemple avec <function>fbsql_query</function>(2)</title> <programlisting role="php"><?php $result = fbsql_query("SELECT my_col FROM my_tbl") or die ("Invalid query");?> </programlisting> </example> </para> <para> <function>fbsql_query</function> échouera si vous n'avez pas les droits d'accès sur l'une des bases de données utilisée dans la requête. </para> <para> Lorsque la requête réussit, vous pouvez utilisez <function>fbsql_num_rows</function> pour savoir combien de lignes ont été retournée par une requête SELECT, ou bien <function>fbsql_affected_rows</function> pour les autres requêtes (DELETE, INSERT, REPLACE et UPDATE). </para> <para> Pour les requêtes SELECT, <function>fbsql_query</function> retourne une ressource de résultat, que vous pouvez passer à <function>fbsql_result</function>. Lors vous avez fini de lire le résultat, vous pouvez libérer les ressources utilisées en appelant <function>fbsql_free_result</function>. Cependant, la mémoire sera automatiquement libérée à la fin du script. </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_db_query</function>, <function>fbsql_free_result</function>, <function>fbsql_result</function>, <function>fbsql_select_db</function> et <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-read-blob"> <refnamediv> <refname>fbsql_read_blob</refname> <refpurpose>Lit un BLOB dans une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_read_blob</function></funcdef> <paramdef>string <parameter>blob_handle</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_read_blob</function> retourne une chaîne de caractères contenant le BLOB <parameter>blob_handle</parameter>. </para> <para> <function>fbsql_read_blob</function> lit les données du BLOB dans la base de données. Si une sélection contient un BLOB et/ou une colonne de type BLOB, FrontBase retournera directement les données lors de la lecture. Ce comportement par défaut peut être modifié avec la fonction <function>fbsql_set_lob_mode</function> pour que les fonctions de lectures ne retournent qu'un identifiant de BLOB ou CLOB. Si un identifiant est lu, il faut utiliser la fonction <function>fbsql_read_blob</function> pour obtenir la valeur du BLOB. </para> <example> <title>Exemple avec <function>fbsql_read_blob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;"; $rs = fbsql_query($sql, $link); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain the blob data for teh first row fbsql_free_result($rs); $rs = fbsql_query($sql, $link); fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain a handle to the BLOB data in the first row $blob_data = fbsql_read_blob($row_data[0]); fbsql_free_result($rs);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-read-clob"> <refnamediv> <refname>fbsql_read_clob</refname> <refpurpose>Lit un CLOB dans une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_read_clob</function></funcdef> <paramdef>string <parameter>clob_handle</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_read_clob</function> retourne une chaîne de caractères contenant le CLOB <parameter>clob_handle</parameter>. </para> <para> <function>fbsql_read_clob</function> lit les données du CLOB dans la base de données. Si une sélection contient un CLOB et/ou une colonne de type CLOB, FrontBase retournera directement les données lors de la lecture. Ce comportement par défaut peut être modifié avec la fonction <function>fbsql_set_lob_mode</function> pour que les fonctions de lectures ne retournent qu'un identifiant de BLOB ou CLOB. Si un identifiant est lu, il faut utiliser la fonction <function>fbsql_read_clob</function> pour obtenir la valeur du CLOB. </para> <example> <title>Exemple avec <function>fbsql_read_blob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;"; $rs = fbsql_query($sql, $link); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain the clob data for teh first row fbsql_free_result($rs); $rs = fbsql_query($sql, $link); fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain a handle to the CLOB data in the first row $clob_data = fbsql_read_clob($row_data[0]); fbsql_free_result($rs);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-result"> <refnamediv> <refname>fbsql_result</refname> <refpurpose>Lit des données dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>fbsql_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>row</parameter></paramdef> <paramdef>mixed <parameter> <optional>field</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_result</function> lit le contenu du champs <parameter>field</parameter>, dans la ligne <parameter>row</parameter>, du résultat <parameter>result</parameter>. L'argument <parameter>field</parameter> peut être l'offset du champs, ou bien son nom, ou bien le nom de sa table plus point plus son nom. Si la colonne a été aliasée, utilisez de préférence l'alias. </para> <para> Lorsque vous travaillez sur de grands résultats, il est vivement recommandé d'utiliser les fonctions qui lisent toute une ligne d'un coup, plutôt que <function>fbsql_result</function> qui travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi que les offset numériques sont plus rapides que les offset nominaux. </para> <para> L'utilisation de <function>fbsql_result</function> ne doivent pas être mélangé avec d'autres fonctions qui utilisent aussi le résultat <parameter>result</parameter>. </para> <para> Alternative vivement recommandées : <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-rollback"> <refnamediv> <refname>fbsql_rollback</refname> <refpurpose>Annule une transaction</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_rollback</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_rollback</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_rollback</function> termine la transaction courante en annulant toutes les requêtes émises depuis la dernière validation. Cette commande n'est utile que si FrontBase est en mode de validation manuelle. </para> <para> Voir aussi <function>fbsql_autocommit</function> et <function>fbsql_commit</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-set-lob-mode"> <refnamediv> <refname>fbsql_set_lob_mode</refname> <refpurpose> Modifie le mode de lecture des LOB </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_set_lob_mode</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>string <parameter>database_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_set_lob_mode</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_set_lob_mode</function> modifie le mode de lecture des LOB. Lorsque des données BLOB ou CLOB sont stockées dans une base de données FrontBase, elles peuvent l'être de manière directe ou indirecte. Si les données sont stockées directement, elles seront automatiquement lues, quelque soit le mode choisi. Si un LOB fait moins de 512 octets, il sera aussi stocké directement. <itemizedlist> <listitem> <simpara> FBSQL_LOB_DIRECT - les données LOB sont lues directements. Lorsque les données sont lues dans la base avec <function>fbsql_fetch_row</function> ou d'autres fonctions de lectures, toutes les colonnes de type CLOB et BLOB seront retournées comme des colonnes habituelles. C'est le comportement par défaut de FrontBase. </simpara> </listitem> <listitem> <simpara> FBSQL_LOB_HANDLE - Les données LOB sont lues sous forme d'identifiant. Lorsque les données sont lues dans la base avec <function>fbsql_fetch_row</function> ou d'autres fonctions de lectures, toutes les colonnes de type CLOB et BLOB seront retournées sous la forme d'un identifiant. Ce identifiant sera une chaîne de 27 caractères de long, formatée comme ceci : <literal>"@'000000000000000000000000'"</literal>. </simpara> </listitem> </itemizedlist> </para> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_create_clob</function>, <function>fbsql_read_blob</function> et <function>fbsql_read_clob</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-select-db"> <refnamediv> <refname>fbsql_select_db</refname> <refpurpose>Sélectionne une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_select_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_select_db</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_select_db</function> remplace la base de données active courante par <parameter>database_name</parameter>, sur la connexion ouverte et représentée par <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_select_db</function> essaiera de se connecter en appelant <function>fbsql_connect</function> sans argument. </para> <para> Le client contacte FBExec pour connaître le numéro de port à utiliser pour la connexion à la base de données. Si le nom de la base est un numéro, le système l'utilisera comme numéro de port, et ne le demandera pas à FBExec. Le serveur Frontbase peut être démarré avec la commande : <literal>FRontBase -FBExec=No -port=<port number> <database name></literal>. </para> <para> Tous les prochains appel à <function>fbsql_query</function> se feront dans la base <parameter>database_name</parameter>. </para> <para> Voir aussi <function>fbsql_connect</function>, <function>fbsql_pconnect</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-start-db"> <refnamediv> <refname>fbsql_start_db</refname> <refpurpose>Démarre une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_start_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_start_db</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_start_db</function> démarre la base de données <parameter>database_name</parameter> sur la connexion <parameter>link_identifier</parameter>. </para> <para> Voir aussi <function>fbsql_db_status</function> et <function>fbsql_stop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-stop-db"> <refnamediv> <refname>fbsql_stop_db</refname> <refpurpose>Stoppe une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_stop_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_stop_db</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_stop_db</function> stoppe la base de données <parameter>database_name</parameter> sur la connexion <parameter>link_identifier</parameter>. </para> <para> Voir aussi <function>fbsql_db_status</function> et <function>fbsql_start_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-tablename"> <refnamediv> <refname>fbsql_tablename</refname> <refpurpose>Lit le nom de la table d'un champs</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_tablename</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>i</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_tablename</function> retourne le nom de la table d'origine du champs <parameter>i</parameter>, dans le résultat <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> peut être utilisée pour connaître le nombre de tables dans un résultat. <example> <title>Exemple avec <function>fbsql_tablename</function></title> <programlisting role="php"><?php fbsql_connect("localhost:3306"); $result = fbsql_list_tables("wisconsin"); $i = 0; while ($i < fbsql_num_rows($result)) { $tb_names[$i] = fbsql_tablename($result, $i); echo $tb_names[$i] . "<br>"; $i++; }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-warnings"> <refnamediv> <refname>fbsql_warnings</refname> <refpurpose>Active ou désactive les alertes FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_warnings</function></funcdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_warnings</function> retourne &true; si les alertes sont actives et &false; en cas d'erreur. </para> <para> <function>fbsql_warnings</function> active ou désactive les alertes FrontBase suivant que <parameter>OnOff</parameter> est à &true; ou &false;. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/fdf.xml diff -u phpdoc/fr/functions/fdf.xml:1.9 phpdoc/fr/functions/fdf.xml:1.10 --- phpdoc/fr/functions/fdf.xml:1.9 Fri Jul 13 13:51:07 2001 +++ phpdoc/fr/functions/fdf.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.fdf"> <title>Forms Data Format</title> <titleabbrev>FDF</titleabbrev> @@ -488,7 +490,7 @@ <refentry id="function.fdf-set-submit-form-action"> <refnamediv> <refname>fdf_set_submit_form_action</refname> - <refpurpose>Modifie l'action javascript d'un champs</refpurpose> + <refpurpose>Modifie l'action d'un formulaire</refpurpose> </refnamediv> <refsect1> <title>Description</title> @@ -558,12 +560,13 @@ <function>fdf_set_encoding</function> modifie l'encodage des caractères du document FDF <parameter>fdf_document</parameter>. Le paramètre <parameter>encoding</parameter> doit être un - nom d'encodage valide, tels que "<literal>Shift-JIS</literal>" ou - "<literal>Unicode</literal>". + nom d'encodage valide. Pour Acrobat 5.0, un nom valide peut notamment + être "<literal>Shift-JIS</literal>", "<literal>UHC</literal>", + "<literal>GBK</literal>" ou "<literal>BigFive</literal>". </para> <para> - <function>fdf_set_encoding</function> a été ajoutée - en PHP 4.0.7. + <function>fdf_set_encoding</function> a été ajoutée + en PHP 4.1.0. </para> </refsect1> </refentry> Index: phpdoc/fr/functions/filepro.xml diff -u phpdoc/fr/functions/filepro.xml:1.6 phpdoc/fr/functions/filepro.xml:1.7 --- phpdoc/fr/functions/filepro.xml:1.6 Thu Mar 22 14:19:36 2001 +++ phpdoc/fr/functions/filepro.xml Mon Nov 12 00:10:20 2001 @@ -1,162 +1,171 @@ - <reference id="ref.filepro"> - <title>FilePro</title> - <partintro> - <simpara> - Ces fonctions permettent de lire des données enregistrées - dans des bases non modifiables, sur des serveurs filePro. - </simpara> - <simpara> - filePro est une marque de fP Technologies, Inc. Vous pouvez avoir plus de - détails sur filePro à - <ulink url="&url.filepro;">&url.filepro;</ulink>. - </simpara> - </partintro> - <refentry id="function.filepro"> - <refnamediv> - <refname>filepro</refname> - <refpurpose>Lit et vérifie un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>filepro</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro</function> lit et vérifie un fichier, - puis enregistre le nombre de champs et de lignes. - </para> - <para> - Aucun verrouillage n'est pratiqué : il vaut alors mieux - ne pas modifier la base filePro lorsqu'elle est ouverte par PHP. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldname"> - <refnamediv> - <refname>filepro_fieldname</refname> - <refpurpose>Retourne le nom d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filepro_fieldname</function></funcdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_fieldname</function> retourne le nom du champs - d'index <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldtype"> - <refnamediv> - <refname>filepro_fieldtype</refname> - <refpurpose>Retourne le type d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filepro_fieldtype</function></funcdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Retourne le type du champs d'index <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldwidth"> - <refnamediv> - <refname>filepro_fieldwidth</refname> - <refpurpose>Retourne la taille d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filepro_fieldwidth</function></funcdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Retourne la taille du champs d'index <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-retrieve"> - <refnamediv> - <refname>filepro_retrieve</refname> - <refpurpose>Retourne la valeur d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filepro_retrieve</function></funcdef> - <paramdef>int <parameter>row_number</parameter></paramdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_retrieve</function> retourne la valeur du - champs d'index <parameter>row_number</parameter>, et à la - ligne <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldcount"> - <refnamediv> - <refname>filepro_fieldcount</refname> - <refpurpose>Retourne le nombre de champs dans une base filePro.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filepro_fieldcount</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_fieldcount</function> retourne le nombre de - champs (ou colonnes) d'une base filePro. - </para> - <para> - Voir aussi <function>filepro</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-rowcount"> - <refnamediv> - <refname>filepro_rowcount</refname> - <refpurpose> - Retourne le nombre de champs dans une base filePro. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filepro_rowcount</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_rowcount</function> retourne le nombre de - lignes dans une base filePro. - </para> - <para> - Voir aussi <function>filepro</function>. - </para> - </refsect1> - </refentry> - </reference> +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> +<reference id="ref.filepro"> + <title>FilePro</title> + <partintro> + <simpara> + Ces fonctions permettent de lire des données enregistrées + dans des bases non modifiables, sur des serveurs filePro. + </simpara> + <simpara> + filePro est une marque de fP Technologies, Inc. Vous pouvez avoir plus de + détails sur filePro à + <ulink url="&url.filepro;">&url.filepro;</ulink>. + </simpara> + </partintro> + <refentry id="function.filepro"> + <refnamediv> + <refname>filepro</refname> + <refpurpose>Lit et vérifie un fichier.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>filepro</function></funcdef> + <paramdef>string <parameter>directory</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro</function> lit et vérifie un fichier, + puis enregistre le nombre de champs et de lignes. + </para> + <para> + Aucun verrouillage n'est pratiqué : il vaut alors mieux + ne pas modifier la base filePro lorsqu'elle est ouverte par PHP. + </para> + ¬e.sm.uidcheck; + </refsect1> + </refentry> + <refentry id="function.filepro-fieldname"> + <refnamediv> + <refname>filepro_fieldname</refname> + <refpurpose>Retourne le nom d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>filepro_fieldname</function></funcdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldname</function> retourne le nom du champs + d'index <parameter>field_number</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-fieldtype"> + <refnamediv> + <refname>filepro_fieldtype</refname> + <refpurpose>Retourne le type d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>filepro_fieldtype</function></funcdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldtype</function> retourne le type du champs + d'index <parameter>field_number</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-fieldwidth"> + <refnamediv> + <refname>filepro_fieldwidth</refname> + <refpurpose>Retourne la taille d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>filepro_fieldwidth</function></funcdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldwidth</function> retourne la taille du + champs d'index <parameter>field_number</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-retrieve"> + <refnamediv> + <refname>filepro_retrieve</refname> + <refpurpose>Retourne la valeur d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>filepro_retrieve</function></funcdef> + <paramdef>int <parameter>row_number</parameter></paramdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_retrieve</function> retourne la valeur du + champs d'index <parameter>row_number</parameter>, et à la + ligne <parameter>field_number</parameter>. + </para> + ¬e.sm.uidcheck; + </refsect1> + </refentry> + <refentry id="function.filepro-fieldcount"> + <refnamediv> + <refname>filepro_fieldcount</refname> + <refpurpose>Retourne le nombre de champs dans une base filePro.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>filepro_fieldcount</function></funcdef> + <paramdef>void</paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldcount</function> retourne le nombre de + champs (ou colonnes) d'une base filePro. + </para> + <para> + Voir aussi + <function>filepro</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-rowcount"> + <refnamediv> + <refname>filepro_rowcount</refname> + <refpurpose> + Retourne le nombre de champs dans une base filePro. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>filepro_rowcount</function></funcdef> + <paramdef>void</paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_rowcount</function> retourne le nombre de + lignes dans une base filePro. + </para> + <para> + Voir aussi + <function>filepro</function>. + </para> + ¬e.sm.uidcheck; + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml Index: phpdoc/fr/functions/filesystem.xml diff -u phpdoc/fr/functions/filesystem.xml:1.25 phpdoc/fr/functions/filesystem.xml:1.26 --- phpdoc/fr/functions/filesystem.xml:1.25 Mon Jul 23 12:48:28 2001 +++ phpdoc/fr/functions/filesystem.xml Mon Nov 12 00:10:20 2001 @@ -1,2897 +1 @@ -<reference id="ref.filesystem"> - <title>Système de fichiers</title> - <titleabbrev>Système de fichiers</titleabbrev> - <refentry id="function.basename"> - <refnamediv> - <refname>basename</refname> - <refpurpose> - Sépare le nom du fichier et le nom du dossier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>basename</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>basename</function> prend en paramètre le chemin complet - d'un fichier et en extrait le nom du fichier. - </para> - <para> - Sous Windows, les caractères (<literal>/</literal>) et antislash - (<literal>\</literal>) sont utilisés comme séparateurs de - dossier. Sous les autres OS, seul le caractère slash - (<literal>/</literal>) est utilisé. - </para> - <para> - <example> - <title>Exemple avec <function>basename</function></title> - <programlisting role="php"> -<?php - $path = "/home/httpd/html/index.php3"; - $file = basename($path); - // $file est affecté avec "index.php3" -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>dirname</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.chgrp"> - <refnamediv> - <refname>chgrp</refname> - <refpurpose>Change le groupe possesseur du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chgrp</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>mixed <parameter>group</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chgrp</function> essaie de changer le groupe propriétaire - du fichier. Seul le super-utilisateur (root) peut changer le groupe - propriétaire d'un fichier arbitrairement. Les utilisateurs - classiques ne peuvent changer - le groupe propriétaire d'un fichier que si l'utilisateur - propriétaire du fichier est membre du groupe. - </para> - <para> - <function>chgrp</function> renvoie &true; en - cas de succès, sinon renvoie &false;. - </para> - <para> - Voir aussi - <function>chown</function> et - <function>chmod</function>. - </para> - <note> - <simpara> - <function>chgrp</function> ne fonctionne pas sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.chmod"> - <refnamediv> - <refname>chmod</refname> - <refpurpose>Change le mode du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chmod</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chmod</function> remplace le mode du fichier - <parameter>filename</parameter> par le mode <parameter>mode</parameter>. - </para> - <para> - Il est à noter que le mode <parameter>mode</parameter> est - considéré comme un nombre en notation octale. Afin de - vous en assurer, vous pouvez préfixer cette valeur par un - zéro (<parameter>mode</parameter>): - <informalexample> - <programlisting role="php"> -<?php - chmod( "/somedir/somefile", 755 ); -// notation décimale; probablement <literal>FALSE</literal> - chmod( "/somedir/somefile", 0755 ); -// notation octale; valeur du mode correcte -?> - </programlisting> - </informalexample> - </para> - <para> - <function>chmod</function> renvoie &true; - en cas de succès, &false; sinon. - </para> - <para> - Voir aussi - <function>chown</function> et - <function>chgrp</function>. - </para> - <note> - <simpara> - <function>chmod</function> ne fonctionne pas sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.chown"> - <refnamediv> - <refname>chown</refname> - <refpurpose>Change le groupe propriétaire du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chown</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>mixed <parameter>user</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chown</function> change le groupe propriétaire du fichier. - Seul le super-utilisateur (root) peut changer le propriétaire - arbitrairement d'un fichier. - </para> - <para> - <function>chown</function> renvoie &true; - en cas de succès, "&false;" sinon. - <note> - <simpara> - Sous Windows, <function>chown</function> ne fait rien et - retourne &true;. - </simpara> - </note> - </para> - <para> - Voir aussi - <function>chown</function> et - <function>chmod</function>. - </para> - <note> - <simpara> - <function>chown</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.clearstatcache"> - <refnamediv> - <refname>clearstatcache</refname> - <refpurpose>Efface le cache de <function>stat</function></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>clearstatcache</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - L'appel à la fonction <systemitem>stat</systemitem> ou - <systemitem>lstat</systemitem> est relativement coûteux en terme de - temps d'exécution. Pour cela, le résultat du dernier - appel à l'une des fonctions de statut, (voir la liste ci-dessous), est - sauvegardé pour ré-utilisation ultérieure. Si vous voulez - forcer la vérification du statut d'un fichier, dans le cas où le - fichier aurait pu être modifié ou aurait disparu, vous - devez utiliser la fonction <function>clearstatcache</function> - afin d'effacer de la mémoire les résultats du dernier - appel à la fonction. - </para> - <para> - La valeur du cache n'est valable que pour la durée d'une requête. - </para> - <para> - Les fonctions affectées sont : <function>stat</function>, - <function>lstat</function>, - <function>file_exists</function>, - <function>is_writable</function>, - <function>is_readable</function>, - <function>is_executable</function>, - <function>is_file</function>, - <function>is_dir</function>, - <function>is_link</function>, - <function>filectime</function>, - <function>fileatime</function>, - <function>filemtime</function>, - <function>fileinode</function>, - <function>filegroup</function>, - <function>fileowner</function>, - <function>filesize</function>, - <function>filetype</function>, et - <function>fileperms</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.copy"> - <refnamediv> - <refname>copy</refname> - <refpurpose>Copie un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>copy</function></funcdef> - <paramdef>string <parameter>source</parameter></paramdef> - <paramdef>string <parameter>dest</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>copy</function> fait une copie du fichier. Elle renvoie &true; en - cas de succès, &false; sinon. - <example> - <title>Exemple avec <function>copy</function></title> - <programlisting role="php"> -if ( !copy($file, $file.'.bak') ) { - print("La copie du fichier $file n'a pas réussi...<br>\n"); -} - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>rename</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.delete"> - <refnamediv> - <refname>delete</refname> - <refpurpose>Effacer</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>delete</function></funcdef> - <paramdef>string <parameter>file</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Ceci est une fausse entrée du manuel pour ceux qui recherchent - en fait la fonction <function>unlink</function> ou <function>unset</function>. - </para> - <para> - Voir aussi - <function>unlink</function> pour effacer des fichiers et - <function>unset</function> pour effacer des variables. - </para> - </refsect1> - </refentry> - <refentry id="function.dirname"> - <refnamediv> - <refname>dirname</refname> - <refpurpose>Renvoie le nom du dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dirname</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Si <parameter>path</parameter> contient le chemin d'un fichier ou dossier, - <function>dirname</function> retournera le nom du dossier qui le contient. - </para> - <para> - Sous Windows, les slash (<literal>/</literal>) et anti-slash - (<literal>\</literal>) sont utilisés comme séparateurs - de dossier. Dans les autres environnements, seul le slash - (<literal>/</literal>) est utilisé. - </para> - <para> - <example> - <title>Exemple avec <function>dirname</function></title> - <programlisting role="php"> -<?php - $path = "/etc/passwd"; - $file = dirname($path); // $file contient "/etc" -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>basename</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.diskfreespace"> - <refnamediv> - <refname>diskfreespace</refname> - <refpurpose> - Renvoie l'espace disque disponible dans le répertoire. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>float <function>diskfreespace</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>diskfreespace</function> retournera le nombre d'octets disponibles sur - le disque correspondant contenant le dossier <parameter>directory</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>diskfreespace</function></title> - <programlisting role="php"> -<?php - $df = diskfreespace("/"); - // $df contient le nombre d'octets libres sur "/" -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.disk-total-space"> - <refnamediv> - <refname>disk_total_space</refname> - <refpurpose>Retourne la taille d'un dossier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>float <function>disk_total_space</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>disk_total_space</function> lit récursivement toutes les tailles - du dossier <parameter>directory</parameter> et retourne la - somme. <parameter>directory</parameter> peut être aussi une partition - de disque. - </para> - <para> - <example> - <title>Exemple avec <function>disk_total_space</function></title> - <programlisting role="php"> -<?php - $df = disk_total_space("/"); // $df contient le nombre d'octets libres - // dans le dossier "/" -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fclose"> - <refnamediv> - <refname>fclose</refname> - <refpurpose>Ferme un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>fclose</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fclose</function> ferme le fichier <parameter>fp</parameter>. - </para> - <para> - <function>fclose</function> retourne &true; en cas de succès, - et &false; en cas d'échec. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function> ou - <function>fsockopen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.feof"> - <refnamediv> - <refname>feof</refname> - <refpurpose>Teste la fin du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>feof</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>feof</function> retourne &true; si le pointeur - <parameter>fp</parameter> est à la fin du fichier, ou si - une erreur survient, sinon, retourne &false;. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fflush"> - <refnamediv> - <refname>fflush</refname> - <refpurpose> - Envoi tout le contenu généré dans un fichier - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fflush</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fflush</function> force l'écriture de toutes les - données bufferisées dans le fichier désigné - par <parameter>fp</parameter>. <function>fflush</function> retourne - &true; en cas de succès, et &false; - sinon. - </para> - <para> - <parameter>fp</parameter> est un pointeur de fichier ouvert - avec <function>fopen</function>, <function>popen</function>, ou - <function>fsockopen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fgetc"> - <refnamediv> - <refname>fgetc</refname> - <refpurpose> - Renvoie le caractère que pointe le pointeur du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fgetc</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fgetc</function> retourne une chaîne contenant un - seul caractère, lu depuis le fichier pointé par - <parameter>fp</parameter>. <function>fgetc</function> retourne - &false; à la fin du fichier - (tout comme <function>feof</function>). - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. - </para> - <para> - Voir aussi - <function>fread</function>, - <function>fopen</function>, - <function>popen</function>, - <function>fsockopen</function> et - <function>fgets</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fgetcsv"> - <refnamediv> - <refname>fgetcsv</refname> - <refpurpose> - Renvoie la ligne courante et cherche les champs CSV - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fgetcsv</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - <paramdef>string - <parameter> - <optional>delimiter</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - Identique à <function>fgets</function> mais <function>fgetcsv</function> - analyse la ligne qu'il lit et recherche les champs CSV, qu'il - va retourner dans un tableau les contenant. Le délimiteur de champs - <parameter>delimiter</parameter> est la virgule, à moins que vous ne - fournissiez un troisième argument. - </simpara> - <simpara> - <parameter>fp</parameter> doit être un pointeur valide, et avoir - été correctement ouvert par <function>fopen</function>, - <function>popen</function>, ou <function>fsockopen</function>. - </simpara> - <simpara> - <parameter>length</parameter> doit être plus grand que la plus - grande ligne trouvée dans un fichier CSV (en comptant les - caractères de fin de ligne). - </simpara> - <simpara> - <function>fgetcsv</function> retourne &false; en cas - d'erreur, ou en cas de fin du fichier. - </simpara> - <simpara> - Note : une ligne vide dans un fichier CSV sera retournée dans le - tableau comme une chaîne vide, et ne sera pas traitée comme - une erreur. - </simpara> - <example> - <title> - Exemple avec <function>fgetcsv</function> - </title> - <programlisting role="php"> -<?php - $row = 1; - $fp = fopen ("test.csv","r"); - while ($data = fgetcsv ($fp, 1000, ",")) { - $num = count ($data); - print "<p> $num champs dans la ligne $row: <br>"; - $row++; - for ($c=0; $c<$num; $c++) { - print $data[$c] . "<br>"; - } - } - fclose ($fp); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fgets"> - <refnamediv> - <refname>fgets</refname> - <refpurpose> - Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fgets</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fgets</function> retourne la chaîne lue jusqu'à - la longueur <parameter>length</parameter> - 1 octet, ou bien la fin du - fichier, ou encore un retour chariot (le premier des trois qui sera - rencontré). - </para> - <para> - Si une erreur survient, <function>fgets</function> retourne &false;. - </para> - <para> - Erreur courante : - </para> - <simpara> - Les programmeurs habitués à la programmation 'C' noteront que - <function>fgets</function> ne se comporte pas comme son équivalent C - lors de la rencontre de la fin du fichier. - </simpara> - <simpara> - <parameter>fp</parameter> doit être valide, et avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. - </simpara> - <para> - Un exemple simple : - <example> - <title>Lecture d'un fichier ligne par ligne</title> - <programlisting role="php"> -<?php - $fd = fopen ("/tmp/inputfile.txt", "r"); - while (!feof($fd)) { - $buffer = fgets($fd, 4096); - echo $buffer; - } - fclose ($fd); -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fread</function>, - <function>fopen</function>, - <function>popen</function>, - <function>fgetc</function>, - <function>fsockopen</function> et - <function>socket_set_timeout</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fgetss"> - <refnamediv> - <refname>fgetss</refname> - <refpurpose> - Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier et - élimine les balises HTML - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fgetss</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - <paramdef>string - <parameter> - <optional>allowable_tags</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Identique à <function>fgets</function>, mais <function>fgetss</function> - supprime toutes les balises HTML et PHP qu'il trouve dans le texte lu. - </para> - <para> - Vous pouvez aussi préciser les balises qui seront ignorées dans - le troisième paramètre, optionnel. - <note> - <para> - <parameter>allowable_tags</parameter> a été ajouté dans - PHP 3.0.13, PHP 4B3. - </para> - </note> - </para> - <para> - Voir aussi - <function>fgets</function>, - <function>fopen</function>, - <function>fsockopen</function>, - <function>popen</function> et - <function>strip_tags</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.file"> - <refnamediv> - <refname>file</refname> - <refpurpose> - Lit le fichier et renvoie le résultat dans un tableau. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int - <parameter><optional>use_include_path</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Identique à <function>readfile</function>, hormis le fait que - <function>file</function> retourne le fichier dans un tableau. Chaque - élément du tableau correspond à une ligne du fichier, - et les retour-chariots sont placés en fin de ligne. - </para> - <para> - Vous pouvez utiliser l'option <parameter>use_include_path</parameter> : - en la mettant à "1", vous rechercherez aussi dans le dossier - <link linkend="ini.include-path">include_path</link>. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -// Lire une page web dans un tableau, et l'afficher - $fcontents = file( 'http://www.php.net' ); - while ( list( $numero_ligne, $ligne ) = each( $fcontents ) ) { - echo "<B>Ligne $numero_ligne:</B> ".htmlspecialchars( $ligne ) . "<br>\n"; - } -// lire une page web dans une chaîne - $fcontents = join( '', file( 'http://www.php.net' ) ); -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>readfile</function>, - <function>fopen</function>, - <function>fsockopen</function> et - <function>popen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.file-exists"> - <refnamediv> - <refname>file_exists</refname> - <refpurpose>Vérifie si un fichier existe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>file_exists</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>file_exists</function> retourne &true; si le fichier - <parameter>filename</parameter> existe, et &false; sinon. - </simpara> - <simpara> - <function>file_exists</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <simpara> - Le résultat de <function>file_exists</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour - plus de détails. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fileatime"> - <refnamediv> - <refname>fileatime</refname> - <refpurpose> - Renvoie la date à laquelle le fichier a été - accédé pour la dernière fois. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileatime</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fileatime</function> renvoie la date à laquelle le fichier - a été accédé pour la dernière fois, ou - &false; en cas d'erreur. - </simpara> - <simpara> - <function>fileatime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <simpara> - Le résultat de <function>fileatime</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </simpara> - </refsect1> - </refentry> - <refentry id="function.filectime"> - <refnamediv> - <refname>filectime</refname> - <refpurpose> - Renvoie l'heure à laquelle l'inode a été - accédé pour la dernière fois. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filectime</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filectime</function> renvoie l'heure à laquelle l'inode - <parameter>filename</parameter> a été accédé pour - la dernière fois, ou &false; en cas d'erreur. - </para> - <simpara> - <function>filectime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Note: Sur la plupart des serveurs UNIX, un fichier est considéré - comme modifié si les données de son inode sont modifiées. - C'est-à-dire lorsque les permissions (utilisateur, groupe ou autre) ont - été modifiées. Voyez aussi <function>filemtime</function> - (que vous pourrez utiliser lorsque vous créerez des indications - telles que "Dernière modification : " sur les pages web) et - <function>fileatime</function>. - </para> - <para> - Notez aussi que sur certains systèmes UNIX, le ctime d'un fichier - texte est considéré comme sa date de création. Cela est faux! - Il n'y a pas de date de création de fichier sous la plupart - des systèmes UNIX. - </para> - <para> - Le résultat de <function>filectime</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - </refsect1> - </refentry> - <refentry id="function.filegroup"> - <refnamediv> - <refname>filegroup</refname> - <refpurpose>Lire le nom du groupe</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filegroup</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filegroup</function> renvoie le groupe qui possède le fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - L'identifiant de groupe est retourné au format numérique, utilisez - <function>posix_getgrgid</function> pour retrouver le nom du groupe. - </para> - <simpara> - <function>filegroup</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>filegroup</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <note> - <simpara> - <function>filegroup</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.fileinode"> - <refnamediv> - <refname>fileinode</refname> - <refpurpose>Renvoie le numéro d'inode du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileinode</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fileinode</function> renvoie le numéro d'inode du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - </para> - <para> - Le résultat de <function>fileinode</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>fileinode</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <note> - <simpara> - <function>fileinode</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.filemtime"> - <refnamediv> - <refname>filemtime</refname> - <refpurpose> - Renvoie la date de dernière modification du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filemtime</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filemtime</function> renvoie la date de dernière - modification du fichier <parameter>filename</parameter>, ou &false; - en cas d'erreur. - </para> - <para> - Le résultat de <function>filemtime</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>filemtime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - <function>filemtime</function> retourne l'heure d'écriture - des blocs données d'un fichier. Utilisez <function>date</function> - sur ce résultat pour obtenir une date de modification humainement - lisible. - </para> - </refsect1> - </refentry> - <refentry id="function.fileowner"> - <refnamediv> - <refname>fileowner</refname> - <refpurpose>Renvoie le nom du propriétaire du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileowner</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fileowner</function> renvoie le nom du possesseur du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - L'identification du possesseur de fichier est numérique : il faut utiliser - <function>posix_getpwuid</function> pour retrouver le nom d'utilisateur. - </para> - <simpara> - <function>fileowner</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>fileowner</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <note> - <simpara> - <function>fileowner</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.fileperms"> - <refnamediv> - <refname>fileperms</refname> - <refpurpose> - Renvoie les permissions affectées au fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileperms</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fileperms</function> renvoie les permissions affectées - au fichier <parameter>filename</parameter>, ou &false; - en cas d'erreur. - </para> - <simpara> - <function>fileperms</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>fileperms</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - </refsect1> - </refentry> - <refentry id="function.filesize"> - <refnamediv> - <refname>filesize</refname> - <refpurpose>Renvoie la taille du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filesize</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filesize</function> renvoie la taille du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - </para> - <simpara> - <function>filesize</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>filesize</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus - de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.filetype"> - <refnamediv> - <refname>filetype</refname> - <refpurpose>Retourne le type de fichier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filetype</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filetype</function> renvoie le type du fichier - <parameter>filename</parameter>. Les réponses possibles sont : - fifo, char, dir, block, link, file, et unknown. - </para> - <para> - <function>filetype</function> retourne &false; en cas d'erreur. - </para> - <simpara> - <function>filetype</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>filetype</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - </refsect1> - </refentry> - <refentry id="function.flock"> - <refnamediv> - <refname>flock</refname> - <refpurpose>Verrouille le fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>flock</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>operation</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - PHP dispose d'un système complet de verrouillage de fichiers. - Tous les programmes qui accèdent au fichier doivent utiliser la - même méthode de verrouillage pour qu'il soit efficace. - </simpara> - <simpara> - <function>flock</function> agit sur le fichier <parameter>fp</parameter> - qui doit avoir été ouvert au préalable. - <parameter>operation</parameter> est une des valeurs suivantes : - </simpara> - <para> - <itemizedlist> - <listitem> - <simpara> - Acquisition d'un verrou : <parameter>operation</parameter> = 1. - </simpara> - </listitem> - <listitem> - <simpara> - Acquisition d'un verrou exclusif (écriture), - <parameter>operation</parameter> = 2. - </simpara> - </listitem> - <listitem> - <simpara> - Libération d'un verrou (partagé ou exclusif), - <parameter>operation</parameter> = 3. - </simpara> - </listitem> - <listitem> - <simpara> - Si vous voulez que <function>flock</function> ne se bloque pas durant - le verrouillage, ajoutez 4 à <parameter>operation</parameter>. - </simpara> - </listitem> - </itemizedlist> - </para> - <simpara> - <function>flock</function> permet de réaliser un système simple de - verrous écriture / lecture, qui peut être utilisé sur - n'importe quelle plate-forme (Unix et Windows compris). - </simpara> - <simpara> - <function>flock</function> retourne &true; en cas - de succès, et &false; - sinon. (le verrou n'a pas pu être obtenu). - </simpara> - <warning> - <para> - Sur la plupart des OS, <function>flock</function> est implémenté - au niveau processus. Lors de l'utilisation des API d'un serveur multi-thread, - comme ISAPI, vous ne pouvez pas vous fier à <function>flock</function> - pour protéger vos fichiers contre des accès concurrents du - même serveur. - </para> - </warning> - </refsect1> - </refentry> - <refentry id="function.fopen"> - <refnamediv> - <refname>fopen</refname> - <refpurpose>Ouverture d'un fichier ou d'une URL.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fopen</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>string <parameter>mode</parameter></paramdef> - <paramdef>int - <parameter> - <optional>use_include_path</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - Si <parameter>filename</parameter> commence par "http://" (insensible à - la casse), une connexion HTTP 1.x est ouverte avec le serveur - spécifié, et un pointeur sur la réponse fournie est - retourné. Une en-tête '<literal>Host:</literal>' est envoyé avec la - requête, afin de gérer les virtual hosts basés sur les noms. - </simpara> - <simpara> - Notez que le pointeur de fichier retourné représente le corps de la - réponse, et qu'il n'est pas possible d'accéder aux en-têtes HTTP - avec cette fonction. - </simpara> - <simpara> - Les versions antérieures à PHP 4.0.6, ne gère pas les - redirections automatiques, ce qui oblige à ajouter les slash finaux - "/" pour indiquer un dossier. - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par "ftp://" (insensible à - la casse), une connexion FTP est ouverte avec le serveur spécifié, - et un pointeur sur la réponse fournie est retourné. Si le serveur - ne supporte par le mode FTP passif, <function>fopen</function> échouera. - Vous pouvez ouvrir des fichiers en lecture seulement, ou en écriture - seulement (le full duplex n'est pas supporté). - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par "php://stdin", "php://stdout", - ou "php://stderr", le flot correspondant sera ouvert. (Cela a été - introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" - ou "/dev/fd/0" devaient être utilisés pour accéder à - ces flots). - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par n'importe quoi d'autre, PHP - tentera de lire ce fichier dans le système local, et un pointeur sur - le fichier ouvert sera retourné. - </simpara> - <simpara> - Si l'ouverture échoue, <function>fopen</function> retourne - &false;. - </simpara> - <para> - <parameter>mode</parameter> peut prendre les valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - 'r' - Ouvre en lecture seule, et place le pointeur de fichier au - début du fichier. - </simpara> - </listitem> - <listitem> - <simpara> - 'r+' - Ouvre en lecture et écriture, et place le pointeur de - fichier au début du fichier. - </simpara> - </listitem> - <listitem> - <simpara> - 'w' - Ouvre en écriture seule; place le pointeur de fichier au - début du fichier et réduit la taille du fichier à 0. - Si le fichier n'existe pas, on tente de le créer. - </simpara> - </listitem> - <listitem> - <simpara> - 'w+' - Ouvre en lecture et écriture; place le pointeur de fichier - au début du fichier et réduit la taille du fichier à - 0. Si le fichier n'existe pas, on tente de le créer. - </simpara> - </listitem> - <listitem> - <simpara> - 'a' - Ouvre en écriture seule; place le pointeur de fichier à - la fin du fichier file. Si le fichier n'existe pas, on tente de le - créer. - </simpara> - </listitem> - <listitem> - <simpara> - 'a+' - Ouvre en lecture et écriture; place le pointeur de fichier - à la fin du fichier. Si le fichier n'existe pas, on tente de le - créer. - </simpara> - </listitem> - </itemizedlist> - De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option - n'est utile que sur les systèmes qui font la différence entre - les fichiers binaires et les fichiers textes (en bref, c'est une - fonctionnalité Windows, totalement inutile sous Unix). - S'il n'est pas nécessaire, il sera ignoré. - </para> - <para> - Vous pouvez utiliser le troisième paramètre optionnel - pour explorer le dossier <link linkend="ini.include-path">include_path</link>, - en le mettant à 1. - </para> - <para> - <example> - <title>Exemple avec <function>fopen</function></title> - <programlisting role="php"> -<?php - $fp = fopen("/home/rasmus/file.txt", "r"); - $fp = fopen("http://www.php.net/", "r"); - $fp = fopen("ftp://user:password@example.com/", "w"); -?> - </programlisting> - </example> - </para> - <simpara> - Si vous rencontrez des problèmes en lecture ou écriture - de fichier et que vous utilisez PHP en version module de serveur, - n'oubliez pas que les fichiers auxquels vous accédez ne sont - pas nécessairement accessibles au processus serveur. - </simpara> - <para> - Sous Windows, assurez-vous de bien échapper les anti-slash - utilisés dans le chemin du fichier, ou bien utilisez des slash. - <informalexample> - <programlisting role="php"> -<?php - $fp = fopen("c:\\data\\info.txt", "r"); -?> - </programlisting> - </informalexample> - </para> - <simpara> - Voir aussi - <function>fclose</function>, - <function>fsockopen</function>, - <function>socket_set_timeout</function> et - <function>popen</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fpassthru"> - <refnamediv> - <refname>fpassthru</refname> - <refpurpose> - Affiche la partie du fichier située après le pointeur du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fpassthru</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fpassthru</function> lit tout le reste d'un fichier - jusqu'à la fin, et dirige le résultat vers la sortie standard. - </simpara> - <simpara> - Si une erreur survient, <function>fpassthru</function> retourne &false;. - </simpara> - <simpara> - Le pointeur de fichier doit être valide, et doit avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. Après lecture, - <function>fpassthru</function> va fermer le fichier (le pointeur - <parameter>fp</parameter> sera alors invalide). - </simpara> - <simpara> - Si vous voulez simplement afficher le contenu d'un fichier, il - suffit d'utiliser <function>readfile</function>, ce qui épargnera - l'appel à <function>fopen</function>. - </simpara> - <simpara> - Voir aussi - <function>readfile</function>, - <function>fopen</function>, - <function>popen</function> et - <function>fsockopen</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fputs"> - <refnamediv> - <refname>fputs</refname> - <refpurpose>Ecrit dans un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fputs</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>string <parameter>str</parameter></paramdef> - <paramdef>int - <parameter> - <optional>length</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fputs</function> est un alias de <function>fwrite</function>, - et lui est identique en tous points. Notez que - <parameter>length</parameter> est un paramètre optionnel, - et s'il n'est pas spécifié, toute la chaîne - est écrite. - </para> - </refsect1> - </refentry> - <refentry id="function.fread"> - <refnamediv> - <refname>fread</refname> - <refpurpose>Lecture du fichier en mode binaire.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fread</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fread</function> lit jusqu'à <parameter>length</parameter> - octets dans le fichier reférencé par <parameter>fp</parameter>. - La lecture s'arrête lorsque <parameter>length</parameter> octets - ont été lus, ou que l'on a atteint la fin du fichier, ou - qu'une erreur survient (le premier des trois). - </simpara> - <para> - <informalexample> - <programlisting role="php"> -<?php -// Lit un fichier, et le place dans une chaîne - $filename = "/usr/local/quelquechose.txt"; - $fd = fopen($filename, "r"); - $contents = fread($fd, filesize ($filename)); - fclose($fd); -?> - </programlisting> - </informalexample> - </para> - <note> - <para> - Sur les systèmes qui différencient les fichiers - textes et binaires (i.e. Windows) le fichier doit être - ouvert avec la lettre 'b' ajoutée au paramètre - de mode de la fonction <function>fopen</function>. - </para> - </note> - <note> - <para> - <informalexample> - <programlisting role="php"> -<?php - $filename = "c:\\fichiers\\uneimage.gif"; - $fd = fopen($filename, "rb"); - $contents = fread($fd, filesize ($filename)); - fclose($fd); -?> - </programlisting> - </informalexample> - </para> - </note> - <simpara> - Voir aussi - <function>fwrite</function>, - <function>fopen</function>, - <function>fsockopen</function>, - <function>popen</function>, - <function>fgets</function>, - <function>fgetss</function>, - <function>file</function> et - <function>fpassthru</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fscanf"> - <refnamediv> - <refname>fscanf</refname> - <refpurpose>Analyse un fichier en fonction d'un format</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>fscanf</function></funcdef> - <paramdef>int <parameter>handle</parameter></paramdef> - <paramdef>string <parameter>format</parameter></paramdef> - <paramdef>string - <parameter><optional>var1</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fscanf</function> est similaire à - <function>sscanf</function>, mais elle prend comme - entrée un fichier, associé à - <parameter>handle</parameter> et l'interprète en - fonction du format <parameter>format</parameter>. Si - seulement deux paramètres sont passés - à la fonction, les valeurs analysées seront - retournées sous forme de tableau. Si des arguments - optionnels sont passés, la fonction retournera le - nombre de valeurs assignées. Les options doivent - être passées par référence. - <example> - <title>Exemple <function>fscanf</function></title> - <programlisting role="php"> -<?php - $fp = fopen ("users.txt","r"); - while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) { - list ($name, $profession, $countrycode) = $userinfo; - //... traitement des données - } - fclose($fp); -?> - </programlisting> - </example> - <example> - <title>users.txt</title> - <programlisting role="txt"> -janus argonaute gr -rodin sculpteur fr -sam oncle us -leonard inventeur it - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fread</function>, - <function>fgets</function>, - <function>fgetss</function>, - <function>sscanf</function>, - <function>printf</function> et - <function>sprintf</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fseek"> - <refnamediv> - <refname>fseek</refname> - <refpurpose>Modifie le pointeur de fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fseek</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fseek</function> modifie le curseur de position - dans le fichier <parameter>fp</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>. Ce paramètre - peut prendre les valeurs suivantes : - <simplelist> - <member> - SEEK_SET - La position finale vaut <parameter>offset</parameter> octets. - </member> - <member> - SEEK_CUR - La position finale vaut la position courante - ajoutée à <parameter>offset</parameter> octets. - </member> - <member> - SEEK_END - La position finale vaut la position courante par rapport à - la fin du fichier, ajoutée de <parameter>offset</parameter>. - </member> - </simplelist> - </para> - <para> - Si <parameter>whence</parameter> n'est pas spécifiée, il - vaut par défaut SEEK_SET. - </para> - <para> - <function>fseek</function> retourne &true; en cas de - succès, et sinon -1. Notez que positionner le pointeur au - delà de la fin du fichier n'est pas une erreur. - </para> - <para> - <function>fseek</function> ne peut pas être utilisé sur les pointeurs - retournés par <function>fopen</function> s'ils sont au format HTTP ou FTP. - </para> - <para> - Voir aussi - <function>ftell</function> et - <function>rewind</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fstat"> - <refnamediv> - <refname>fstat</refname> - <refpurpose> - Lit les informations sur un fichier à partir d'un pointeur de fichier - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fstat</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fstat</function> rassemble les informations sur le fichier dont on - connaît le pointeur <parameter>fp</parameter>. <function>fstat</function> - est similaire à la fonction <function>stat</function>, hormis - le fait qu'elle utilise un pointeur de fichier, au lieu d'un nom de fichier. - </para> - <para> - <function>fstat</function> retourne un tableau avec les éléments suivants : - <itemizedlist> - <listitem><simpara>1 : volume </simpara></listitem> - <listitem><simpara>2 : inode</simpara></listitem> - <listitem><simpara>3 : mode de protection du inode </simpara></listitem> - <listitem><simpara>4 : nombre de liens </simpara></listitem> - <listitem><simpara>5 : id de l'utilisateur propriétaire </simpara></listitem> - <listitem><simpara>6 : id du groupe propriétaire</simpara></listitem> - <listitem><simpara>7 : type du volume de l'inode * </simpara></listitem> - <listitem><simpara>8 : taille en octets </simpara></listitem> - <listitem><simpara>9 : date du dernier accès </simpara></listitem> - <listitem><simpara>10 : date de la dernière modification </simpara></listitem> - <listitem><simpara>11 : date du dernier changement </simpara></listitem> - <listitem><simpara>12 : taille de bloc du système pour les entrées/sorties(*)</simpara></listitem> - <listitem><simpara>13 : Nombre de blocs alloués</simpara></listitem> - </itemizedlist> - * - uniquement sur les systèmes qui supportent le type st_blksize. - Les autres systèmes (i.e. Windows) retournent -1. - </para> - <para> - Les résultats de <function>fstat</function> sont mis en cache. - Reportez-vous à la fonction <function>clearstatcache</function> - pour plus de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.ftell"> - <refnamediv> - <refname>ftell</refname> - <refpurpose>Renvoie la position du pointeur du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ftell</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ftell</function> retourne la position courante du pointeur dans le - fichier repéré par le pointeur <parameter>fp</parameter>, i.e., - son offset. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function> ou <function>popen</function>. - </para> - <para> - Voir aussi - <function>fopen</function>, - <function>popen</function>, - <function>fseek</function> et - <function>rewind</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ftruncate"> - <refnamediv> - <refname>ftruncate</refname> - <refpurpose>Tronque un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ftruncate</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ftruncate</function> prend le pointeur de fichier - <parameter>fp</parameter> et le tronque à la taille de - <parameter>size</parameter>.<function>ftruncate</function> retourne - &true; en cas de succès, et - &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.fwrite"> - <refnamediv> - <refname>fwrite</refname> - <refpurpose>Ecriture du fichier en mode binaire.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fwrite</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>string <parameter>string</parameter></paramdef> - <paramdef>int - <parameter> - <optional>length</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fwrite</function> écrit le contenu de la chaîne - <parameter>string</parameter> dans le fichier pointé par - <parameter>fp</parameter>. Si la longueur <parameter>length</parameter> - est fournie, l'écriture s'arrêtera après - <parameter>length</parameter> octets, ou à la fin de la - chaîne (le premier des deux). - </simpara> - <simpara> - Notez que si <parameter>length</parameter> est fourni, alors l'option de - configuration <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link> - sera ignorée, et les slash seront conservés. - </simpara> - <note> - <para> - De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option - n'est utile que sur les systèmes qui font la différence entre - les fichiers binaires et les fichiers textes (en bref, c'est une - fonctionnalité Windows, totalement inutile sous Unix). - S'il n'est pas nécessaire, il sera ignoré. - </para> - </note> - <simpara> - Voir aussi - <function>fread</function>, - <function>fopen</function>, - <function>fsockopen</function>, - <function>popen</function> et - <function>fputs</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.set-file-buffer"> - <refnamediv> - <refname>set_file_buffer</refname> - <refpurpose> - Fixe la bufferisation de fichier - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>set_file_buffer</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>buffer</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - L'écriture de fichier avec <function>fwrite</function> utilise normalement - un buffer de 8K. Cela signifie que si deux processus essaient d'écrire - dans le même fichier, ils font une pause tous les 8ko pour laisser le temps - à l'autre d'écrire à son tour. - <function>set_file_buffer</function> permet de modifier la taille du buffer de - sortie pour le pointeur de fichier <parameter>fp</parameter> à - <parameter>buffer</parameter> octets. Si <parameter>buffer</parameter> vaut 0, - l'écriture se fera sans buffer. Cela force un processus à écrire - toutes ses données dans un fichier avant que les autres puissent y accéder. - </simpara> - <simpara> - <function>set_file_buffer</function> retourne 0 en cas de succès, ou - EOF si la requête ne peut pas être honorée. - </simpara> - <para> - L'exemple suivant montre comment utiliser la fonction - <function>set_file_buffer</function> pour créer un fichier - sans buffer. - <example> - <title>Exemple avec <function>set_file_buffer</function></title> - <programlisting role="php"> -<?php - $fp=fopen($file, "w"); - if($fp){ - set_file_buffer($fp, 0); - fputs($fp, $output); - fclose($fp); - } -?> - </programlisting> - </example> - </para> - <simpara> - Voir aussi - <function>fopen</function> et - <function>fwrite</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.is-dir"> - <refnamediv> - <refname>is_dir</refname> - <refpurpose>Indique si le nom de fichier est un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_dir</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_dir</function> retourne &true; si - <parameter>filename</parameter> existe et est un dossier. - </para> - <para> - Le résultat de <function>is_dir</function> est mis en cache. Voir la fonction - <function>clearstatcache</function> pour plus de détails. - </para> - <simpara> - <function>is_dir</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_file</function> et - <function>is_link</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-executable"> - <refnamediv> - <refname>is_executable</refname> - <refpurpose>Indique si le fichier est exécutable.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_executable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_executable</function> retourne &true; si - <parameter>filename</parameter> existe et est exécutable. - </para> - <para> - Le résultat de <function>is_executable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_executable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_file</function> et - <function>is_link</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-file"> - <refnamediv> - <refname>is_file</refname> - <refpurpose> - Indique si le fichier est un véritable fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_file</function> retourne &true; si - <parameter>filename</parameter> existe et est un fichier - (et pas un dossier). - </para> - <para> - Le résultat de <function>is_file</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_file</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_dir</function> et - <function>is_link</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-link"> - <refnamediv> - <refname>is_link</refname> - <refpurpose> - Indique si le fichier est un lien symbolique. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_link</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_link</function> retourne &true; si - <parameter>filename</parameter> existe et est un lien symbolique. - </para> - <para> - Le résultat de <function>is_link</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_link</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_dir</function> et - <function>is_file</function>. - </para> - <note> - <simpara> - <function>is_link</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.is-readable"> - <refnamediv> - <refname>is_readable</refname> - <refpurpose>Indique un fichier est autorisé en lecture</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_readable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_readable</function> retourne &true; si - <parameter>filename</parameter> existe et est accessible en lecture. - </para> - <para> - N'oubliez pas que PHP accède aux fichiers avec les mêmes - autorisations que l'utilisateur qui fait tourner le serveur web - (souvent, c'est 'nobody', personne). - </para> - <para> - Le résultat de <function>is_readable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_readable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_writable</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-writable"> - <refnamediv> - <refname>is_writable</refname> - <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_writable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_writable</function> retourne &true; si - <parameter>filename</parameter> existe et est accessible en écriture. - </para> - <para> - N'oubliez pas que PHP accède aux fichiers avec les mêmes - autorisations que l'utilisateur qui fait tourner le serveur web - (souvent, c'est 'nobody', personne). - </para> - <simpara> - <function>is_writable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>is_writable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <para> - Voir aussi - <function>is_readable</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-writeable"> - <refnamediv> - <refname>is_writeable</refname> - <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_writeable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_writeable</function> est un alias de <function>is_writable</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-uploaded-file"> - <refnamediv> - <refname>is_uploaded_file</refname> - <refpurpose> - Indique si le fichier a été téléchargé - par HTTP POST - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_uploaded_file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_uploaded_file</function> est disponible à partir des - versions PHP 3.0.16 et 4.0.2. - </para> - <para> - <function>is_uploaded_file</function> retourne &true; si le fichier - <varname>filename</varname> a été téléchargé - par HTTP POST. Cela est très utile pour vous assurer qu'un - utilisateur n'essaie pas d'accéder intentionnellement à - un fichier auquel il n'a pas droit (comme <filename>/etc/passwd</filename>). - </para> - <para> - Ce type de vérification est spécialement important s'il est - possible que les fichiers téléchargés - révélent leur contenu à l'utilisateur, ou - même aux utilisateurs du même système. - </para> - <para> - Voir aussi - <function>move_uploaded_file</function>, et - la section - <link linkend="features.file-upload">Chargement de fichier</link> - pour un exemple simple. - </para> - </refsect1> - </refentry> - <refentry id="function.link"> - <refnamediv> - <refname>link</refname> - <refpurpose>Crée un lien.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>link</function></funcdef> - <paramdef>string <parameter>target</parameter></paramdef> - <paramdef>string <parameter>link</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>link</function> crée un lien. - </para> - <para> - Voir aussi - <function>symlink</function> pour créer des liens - symboliques et - <function>readlink</function> avec <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>link</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.linkinfo"> - <refnamediv> - <refname>linkinfo</refname> - <refpurpose>Renvoie les informations à propos d'un lien.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>linkinfo</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>linkinfo</function> renvoie les informations à propos - d'un lien, c'est-à-dire le champs st_dev de la structure d'information UNIX - (comme en langage C). <function>linkinfo</function> sert à vérifier - si un lien (repéré par <parameter>path</parameter>) - existe (en utilisant la même méthode que la macro - S_ISLNK de stat.h). <function>linkinfo</function> retourne - &false; en cas d'erreur. - </para> - <para> - Voir aussi - <function>symlink</function>, - <function>link</function> et - <function>readlink</function>. - </para> - <note> - <simpara> - <function>linkinfo</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.mkdir"> - <refnamediv> - <refname>mkdir</refname> - <refpurpose>Crée un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>mkdir</function></funcdef> - <paramdef>string <parameter>pathname</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>mkdir</function> tente de créer un dossier dans - le chemin <parameter>pathname</parameter>. - </para> - <para> - Notez que vous aurez à préciser le mode en base octale, - ce qui signifie que vous aurez probablement un 0 comme premier chiffre. - Le mode sera aussi modifié par le umask courant, que vous pouvez - modifier avec la fonction <function>umask</function>. - <informalexample> - <programlisting role="php"> -<?php - mkdir ("/chemin/de/mon/dossier", 0700); -?> - </programlisting> - </informalexample> - </para> - <para> - <function>mkdir</function> retourne &true; en cas de - succès, et &false; en cas d'échec. - </para> - <para> - Voir aussi - <function>rmdir</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.move-uploaded-file"> - <refnamediv> - <refname>move_uploaded_file</refname> - <refpurpose>Déplace un fichier téléchargé.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>move_uploaded_file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>string <parameter>destination</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>move_uploaded_file</function> est disponible à partir - des versions PHP 3.0.16 et 4.0.2. - </para> - <para> - <function>move_uploaded_file</function> s'assure que le fichier - <parameter>filename</parameter> est un fichier téléchargé - par HTTP POST. Si le fichier est valide, il est déplacé - jusqu'à <parameter>destination</parameter>. - </para> - <para> - Si <parameter>filename</parameter> n'est pas valide, rien ne se passe, - et <function>move_uploaded_file</function> retournera &false;. - </para> - <para> - Si <parameter>filename</parameter> est un fichier - téléchargé, mais que pour une raison - quelconque, il ne peut être déplacé, rien ne se passe, - et <function>move_uploaded_file</function> retourne &false;. - De plus, une alerte sera affichée. - </para> - <para> - Ce type de vérification est spécialement important s'il - est possible que les fichiers téléchargés - révèlent leur contenu à l'utilisateur, - ou même aux utilisateurs du même système. - </para> - <para> - Voir aussi - <function>move_uploaded_file</function> et - la section <link linkend="features.file-upload">Chargement de fichier</link> - pour un exemple simple. - </para> - </refsect1> - </refentry> - <refentry id="function.pathinfo"> - <refnamediv> - <refname>pathinfo</refname> - <refpurpose>Retourne des informations sur un chemin système</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>pathinfo</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>pathinfo</function> retourne un tableau associatif, - contenant les informations sur le chemin <parameter>path</parameter>. - Les éléments suivants sont retournés : - <parameter>dirname</parameter>, <parameter>basename</parameter> - et <parameter>extension</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>pathinfo</function></title> - <programlisting role="php"> -<?php - $path_parts = pathinfo("/www/htdocs/index.html"); - echo $path_parts["dirname"] . "\n"; - echo $path_parts["basename"] . "\n"; - echo $path_parts["extension"] . "\n"; -?> - </programlisting> - </example> - </para> - <para> - Va afficher : - <informalexample> - <programlisting> -/www/htdocs -index.html -html - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>dirname</function>, - <function>basename</function> et - <function>realpath</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.pclose"> - <refnamediv> - <refname>pclose</refname> - <refpurpose>Ferme un processus de pointeur de fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>pclose</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>pclose</function> ferme un processus de pointeur de fichier ouvert par - <function>popen</function>. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir - été ouvert correctement par <function>popen</function>. - </para> - <para> - <function>pclose</function> retourne le statut final du processus - exécuté. - </para> - <para> - Voir aussi - <function>popen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.popen"> - <refnamediv> - <refname>popen</refname> - <refpurpose>Crée un processus de pointeur de fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>popen</function></funcdef> - <paramdef>string <parameter>commet</parameter></paramdef> - <paramdef>string <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>popen</function> ouvre un processus fils en faisant un fork de la - commande. - </para> - <para> - <function>popen</function> retourne un pointeur de fichier - identique à celui retourné par <function>fopen</function>, - hormis le fait qu'il sera unidirectionnel (lecture seule, ou - écriture seule), et doit être terminé par - <function>pclose</function>. Ce pointeur peut être utilisé - avec <function>fgets</function>, <function>fgetss</function> et - <function>fputs</function>. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php - $fp = popen("/bin/ls", "r"); -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>pclose</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.readfile"> - <refnamediv> - <refname>readfile</refname> - <refpurpose>Affiche un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>readfile</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int - <parameter> - <optional>use_include_path</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>readfile</function> lit le fichier <parameter>filename</parameter> et - l'envoit à la sortie standard. - </para> - <para> - <function>readfile</function> retourne le nombre d'octets lus depuis le fichier. - Si une erreur survient, retourne &false;. - </para> - <para> - Si <parameter>filename</parameter> commence par "http://" (insensible - à la casse), une connexion HTTP 1.0 sera ouverte avec le serveur - spécifié, et le texte de la réponse sera affiché - sur la sortie standard. - </para> - <simpara> - Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, - ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier. - </simpara> - <para> - Si <parameter>filename</parameter> commence par "ftp://" (insensible - à la casse), une connexion FTP est ouverte avec l'hôte - spécifié et la réponse du serveur est affichée. - Si le serveur ne supporte les connexions passives, la requête - échouera. - </para> - <para> - Si <parameter>filename</parameter> ne commence par aucun des cas - précédents, le fichier sera ouvert sur l'hôte - local, et envoyé à la sortie standard. - </para> - <para> - Vous pouvez utiliser le deuxième paramètre optionnel - pour explorer le dossier <link linkend="ini.include-path">include_path</link>, - en passant la valeur de 1. - </para> - <para> - Voir aussi - <function>fpassthru</function>, - <function>file</function>, - <function>fopen</function>, - <function>include</function>, - <function>require</function> et - <function>virtual</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.readlink"> - <refnamediv> - <refname>readlink</refname> - <refpurpose> - Renvoie le nom du fichier vers lequel pointe un lien symbolique. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>readlink</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>readlink</function> fait la même chose que la fonction - readlink en C : elle retourne le contenu du lien symbolique - repéré par <parameter>path</parameter>, - ou &false; en cas d'erreur. - </para> - <para> - Voir aussi - <function>symlink</function>, - <function>readlink</function> et - <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>readlink</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.rename"> - <refnamediv> - <refname>rename</refname> - <refpurpose>Renomme un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>rename</function></funcdef> - <paramdef>string <parameter>oldname</parameter></paramdef> - <paramdef>string <parameter>newname</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rename</function> rente de renommer le fichier - <parameter>oldname</parameter> en <parameter>newname</parameter>. - </para> - <para> - <function>rename</function> retourne &true; en cas de succès - et &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.rewind"> - <refnamediv> - <refname>rewind</refname> - <refpurpose>Replace le pointeur de fichier au début.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>rewind</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rewind</function> replace le pointeur du fichier - <parameter>fp</parameter> au début. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function>. - </para> - <para> - Voir aussi - <function>fseek</function> et - <function>ftell</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.rmdir"> - <refnamediv> - <refname>rmdir</refname> - <refpurpose>Efface un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>rmdir</function></funcdef> - <paramdef>string <parameter>dirname</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rmdir</function> tente d'effacer le dossier dont le chemin est - <parameter>dirname</parameter>. Le dossier doit être vide, - et le script doit avoir les autorisations adéquates. - </para> - <para> - Si une erreur survient, <function>rmdir</function> retourne &false;. - </para> - <para> - Voir aussi - <function>mkdir</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.stat"> - <refnamediv> - <refname>stat</refname> - <refpurpose>Renvoie les informations à propos d'un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>stat</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>stat</function> renvoie les informations à propos du - fichier filename. - </para> - <para> - <function>stat</function> retourne un tableau avec les éléments suivants : - <itemizedlist> - <listitem><simpara>0 : volume </simpara></listitem> - <listitem><simpara>1 : inode</simpara></listitem> - <listitem> - <simpara> - 2 : droits d'accès au fichier (mode de protection du inode). - A convertir en octal. Voir aussi <function>fileperms</function>. - </simpara> - </listitem> - <listitem><simpara>3 : nombre de liens </simpara></listitem> - <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> - <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> - <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> - <listitem><simpara>7 : taille en octets </simpara></listitem> - <listitem><simpara>8 : date du dernier accès </simpara></listitem> - <listitem><simpara>9 : date de la dernière modification </simpara></listitem> - <listitem><simpara>10 : date du dernier changement </simpara></listitem> - <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> - <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> - </itemizedlist> - * - uniquement sur les systèmes qui supportent le type st_blksize. - Les autres systèmes (i.e. Windows) retournent -1. - </para> - <para> - <function>stat</function> retourne &false; en cas d'erreur. - </para> - <para> - <function>stat</function> ne gère pas les URL comme peut le - faire <function>fopen</function>. - </para> - <para> - Les résultats de <function>stat</function> sont mis en cache. - Reportez-vous à la fonction <function>clearstatcache</function> pour - plus de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.lstat"> - <refnamediv> - <refname>lstat</refname> - <refpurpose> - Renvoie les informations à propos d'un fichier ou d'un lien symbolique. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>lstat</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>lstat</function> est identique à <function>stat</function> - mais elle accepte aussi un lien symbolique comme argument. - </para> - <para> - <function>lstat</function> retourne un tableau avec les éléments suivants : - <itemizedlist> - <listitem><simpara>0 : volume </simpara></listitem> - <listitem><simpara>1 : inode</simpara></listitem> - <listitem> - <simpara> - 2 : droits d'accès au fichier (mode de protection du inode). - A convertir en octal. Voir aussi <function>fileperms</function>. - </simpara> - </listitem> - <listitem><simpara>3 : nombre de liens </simpara></listitem> - <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> - <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> - <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> - <listitem><simpara>7 : taille en octets </simpara></listitem> - <listitem><simpara>8 : date du dernier accès </simpara></listitem> - <listitem><simpara>9 : date de la dernière modification </simpara></listitem> - <listitem><simpara>10 : date du dernier changement </simpara></listitem> - <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> - <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> - </itemizedlist> - * - uniquement sur les systèmes qui supportent le type st_blksize. - Les autres systèmes (i.e. Windows) retournent -1. - </para> - <para> - Les résultats de <function>lstat</function> sont mis en cache. - Reportez-vous à la fonction <function>clearstatcache</function> - pour plus de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.realpath"> - <refnamediv> - <refname>realpath</refname> - <refpurpose>Retourne le chemin canonique absolu.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>realpath</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>realpath</function> résoud tous les liens symboliques, et - remplace toutes les références '/./', '/../' et '/' de - <parameter>path</parameter> puis retourne le chemin canonique absolu - ainsi trouvé. Le résultat ne contient aucun lien symbolique, - '/./' ou '/../'. - </para> - <para> - <example> - <title>Exemple <function>realpath</function></title> - <programlisting role="php"> -<?php - $real_path = realpath("../../index.php"); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.symlink"> - <refnamediv> - <refname>symlink</refname> - <refpurpose>Crée un lien symbolique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>symlink</function></funcdef> - <paramdef>string <parameter>target</parameter></paramdef> - <paramdef>string <parameter>link</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>symlink</function> crée un lien symbolique pour l'objet - <parameter>target</parameter> avec le nom de <parameter>link</parameter>. - </para> - <para> - Voir aussi - <function>link</function> pour créer des liens durs et - <function>readlink</function> ainsi que <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>symlink</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.tempnam"> - <refnamediv> - <refname>tempnam</refname> - <refpurpose>Crée un fichier avec un nom unique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>tempnam</function></funcdef> - <paramdef>string <parameter>dir</parameter></paramdef> - <paramdef>string <parameter>prefix</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>tempnam</function> crée un fichier temporaire unique - dans le dossier <parameter>dir</parameter>. Si le dossier n'existe pas, - <function>tempnam</function> va générer un nom de fichier - dans le dossier temporaire du système. - </para> - <para> - Avant PHP 4.0.6, le comportement de <function>tempnam</function> dépendait - de l'OS sous-jacent. Sous Windows, la variable d'environnement - TMP remplace le paramètre <parameter>dir</parameter>; sous Linux, la - variable d'environnement TMPDIR a la priorité, tandis que pour les - OS en système V R4, le paramètre <parameter>dir</parameter> sera toujours - utilisé, si le dossier qu'il représente existe. Consultez votre - documentation pour plus de détails. - </para> - <para> - <function>tempnam</function> retourne le nom du fichier temporaire, ou - la chaîne &null; en cas d'échec. - <example> - <title>Exemple avec <function>tempnam</function></title> - <programlisting role="php"> -<?php - $tmpfname = tempnam("/tmp", "FOO"); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.tmpfile"> - <refnamediv> - <refname>tmpfile</refname> - <refpurpose>Crée un fichier temporaire</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>tmpfile</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>tmpfile</function> crée un fichier temporaire - avec un nom unique, ouvert en écriture, et retourne un - pointeur de fichier, identique à ceux retournés par - <function>fopen</function>. - Ce fichier sera automatiquement effacé lorsqu'il sera - fermé (avec <function>fclose</function>), ou lorsque le script - sera terminé. - </para> - <para> - Pour plus de détails, consultez votre documentation système - sur la fonction <literal>tmpfile(3)</literal>, et sur - <filename>stdio.h</filename>. - </para> - <para> - Voir aussi - <function>tempnam</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.touch"> - <refnamediv> - <refname>touch</refname> - <refpurpose> - Affecte une nouvelle date de modification à un fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>touch</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int <parameter>time</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>touch</function> tente de forcer la date de modification du fichier - nommé <parameter>filename</parameter> à la date de - <parameter>time</parameter>. Si <parameter>time</parameter> est omis, - c'est l'heure courante qui est utilisée. - </para> - <para> - Si le fichier n'existe pas, il est créé. - </para> - <para> - <function>touch</function> retourne &true; en cas de succès, - et &false; sinon. - <example> - <title>Exemple avec <function>touch</function></title> - <programlisting role="php"> -if ( touch($NomDeFichier) ) { - print "La date de modification de $NomDeFichier a été fixée à maintenant"; -} else { - print "Désolé, il est impossible de changer la date de modification de $NomDeFichier"; -} - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.umask"> - <refnamediv> - <refname>umask</refname> - <refpurpose>Change le "umask" courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>umask</function></funcdef> - <paramdef>int <parameter>mask</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>umask</function> change le umask de PHP : mask & 0777 et retourne le - vieux umask. Lorsque PHP est utilisé comme module de serveur, - le umask reprend sa valeur à la fin de chaque script. - </para> - <para> - <function>umask</function> appelé sans argument retourne simplement le - umask courant. - </para> - </refsect1> - </refentry> - <refentry id="function.unlink"> - <refnamediv> - <refname>unlink</refname> - <refpurpose>Efface un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>unlink</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>unlink</function> efface <parameter>filename</parameter>. - Identique à la fonction Unix C unlink(). - </para> - <para> - <function>unlink</function> retourne &false; en cas - d'échec. - </para> - <para> - Voir aussi - <function>rmdir</function> pour supprimer des dossiers. - </para> - <note> - <simpara> - <function>unlink</function> ne fonctionne pas sous Windows. - </simpara> - </note> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.26 $ --><reference id="ref.filesystem"> <title>Système de fichiers</title> <titleabbrev>Système de fichiers</titleabbrev> <refentry id="function.basename"> <refnamediv> <refname>basename</refname> <refpurpose> Sépare le nom du fichier et le nom du dossier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>basename</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> <paramdef>string <parameter><optional>suffix</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>basename</function> prend en paramètre le chemin complet d'un fichier et en extrait le nom du fichier. Si <optional>suffix</optional> est fourni, le suffixe sera aussi supprimé. </para> <para> Sous Windows, les caractères (<literal>/</literal>) et antislash (<literal>\</literal>) sont utilisés comme séparateurs de dossier. Sous les autres OS, seul le caractère slash (<literal>/</literal>) est utilisé. </para> <para> <example> <title>Exemple avec <function>basename</function></title> <programlisting role="php"><?php $path = "/home/httpd/html/index.php3"; $file = basename($path); // $file est affecté avec "index.php3"?> </programlisting> </example> </para> <para> Voir aussi <function>dirname</function>. </para> <note> <para> <parameter>suffix</parameter> a été ajouté en PHP 4.1.0. </para> </note> </refsect1> </refentry> <refentry id="function.chgrp"> <refnamediv> <refname>chgrp</refname> <refpurpose>Change le groupe possesseur du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chgrp</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>mixed <parameter>group</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chgrp</function> essaie de changer le groupe propriétaire du fichier. Seul le super-utilisateur (root) peut changer le groupe propriétaire d'un fichier arbitrairement. Les utilisateurs classiques ne peuvent changer le groupe propriétaire d'un fichier que si l'utilisateur propriétaire du fichier est membre du groupe. </para> <para> <function>chgrp</function> renvoie &true; en cas de succès, sinon renvoie &false;. </para> <para> Voir aussi <function>chown</function> et <function>chmod</function>. </para> <note> <simpara> <function>chgrp</function> ne fonctionne pas sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.chmod"> <refnamediv> <refname>chmod</refname> <refpurpose>Change le mode du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chmod</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chmod</function> remplace le mode du fichier <parameter>filename</parameter> par le mode <parameter>mode</parameter>. </para> <para> Il est à noter que le mode <parameter>mode</parameter> est considéré comme un nombre en notation octale. Afin de vous en assurer, vous pouvez préfixer cette valeur par un zéro (<parameter>mode</parameter>): <informalexample> <programlisting role="php"><?php chmod( "/somedir/somefile", 755 );// notation décimale; probablement <literal>FALSE</literal> chmod( "/somedir/somefile", 0755 );// notation octale; valeur du mode correcte?> </programlisting> </informalexample> </para> <para> <function>chmod</function> renvoie &true; en cas de succès, &false; sinon. </para> <para> Voir aussi <function>chown</function> et <function>chgrp</function>. </para> <note> <simpara> <function>chmod</function> ne fonctionne pas sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.chown"> <refnamediv> <refname>chown</refname> <refpurpose>Change le groupe propriétaire du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chown</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>mixed <parameter>user</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chown</function> change le groupe propriétaire du fichier. Seul le super-utilisateur (root) peut changer le propriétaire arbitrairement d'un fichier. </para> <para> <function>chown</function> renvoie &true; en cas de succès, "&false;" sinon. <note> <simpara> Sous Windows, <function>chown</function> ne fait rien et retourne &true;. </simpara> </note> </para> <para> Voir aussi <function>chown</function> et <function>chmod</function>. </para> <note> <simpara> <function>chown</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.clearstatcache"> <refnamediv> <refname>clearstatcache</refname> <refpurpose>Efface le cache de <function>stat</function></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>clearstatcache</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> L'appel à la fonction <systemitem>stat</systemitem> ou <systemitem>lstat</systemitem> est relativement coûteux en terme de temps d'exécution. Pour cela, le résultat du dernier appel à l'une des fonctions de statut, (voir la liste ci-dessous), est sauvegardé pour ré-utilisation ultérieure. Si vous voulez forcer la vérification du statut d'un fichier, dans le cas où le fichier aurait pu être modifié ou aurait disparu, vous devez utiliser la fonction <function>clearstatcache</function> afin d'effacer de la mémoire les résultats du dernier appel à la fonction. </para> <para> La valeur du cache n'est valable que pour la durée d'une requête. </para> <para> Les fonctions affectées sont : <function>stat</function>, <function>lstat</function>, <function>file_exists</function>, <function>is_writable</function>, <function>is_readable</function>, <function>is_executable</function>, <function>is_file</function>, <function>is_dir</function>, <function>is_link</function>, <function>filectime</function>, <function>fileatime</function>, <function>filemtime</function>, <function>fileinode</function>, <function>filegroup</function>, <function>fileowner</function>, <function>filesize</function>, <function>filetype</function>, et <function>fileperms</function>. </para> </refsect1> </refentry> <refentry id="function.copy"> <refnamediv> <refname>copy</refname> <refpurpose>Copie un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>copy</function></funcdef> <paramdef>string <parameter>source</parameter></paramdef> <paramdef>string <parameter>dest</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>copy</function> fait une copie du fichier. Elle renvoie &true; en cas de succès, &false; sinon. <example> <title>Exemple avec <function>copy</function></title> <programlisting role="php">if ( !copy($file, $file.'.bak') ) { print("La copie du fichier $file n'a pas réussi...<br>\n");} </programlisting> </example> </para> <para> Voir aussi <function>rename</function>. </para> </refsect1> </refentry> <refentry id="function.delete"> <refnamediv> <refname>delete</refname> <refpurpose>Effacer</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>delete</function></funcdef> <paramdef>string <parameter>file</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Ceci est une fausse entrée du manuel pour ceux qui recherchent en fait la fonction <function>unlink</function> ou <function>unset</function>. </para> <para> Voir aussi <function>unlink</function> pour effacer des fichiers et <function>unset</function> pour effacer des variables. </para> </refsect1> </refentry> <refentry id="function.dirname"> <refnamediv> <refname>dirname</refname> <refpurpose>Renvoie le nom du dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dirname</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Si <parameter>path</parameter> contient le chemin d'un fichier ou dossier, <function>dirname</function> retournera le nom du dossier qui le contient. </para> <para> Sous Windows, les slash (<literal>/</literal>) et anti-slash (<literal>\</literal>) sont utilisés comme séparateurs de dossier. Dans les autres environnements, seul le slash (<literal>/</literal>) est utilisé. </para> <para> <example> <title>Exemple avec <function>dirname</function></title> <programlisting role="php"><?php $path = "/etc/passwd"; $file = dirname($path); // $file contient "/etc"?> </programlisting> </example> </para> <para> Voir aussi <function>basename</function>. </para> </refsect1> </refentry> <refentry id="function.disk_free_space"> <refnamediv> <refname>disk_free_space</refname> <refpurpose> Renvoie l'espace disque disponible dans le répertoire. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>disk_free_space</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>disk_free_space</function> retournera le nombre d'octets disponibles sur le disque correspondant contenant le dossier <parameter>directory</parameter>. </para> <para> <example> <title>Exemple avec <function>disk_free_space</function></title> <programlisting role="php"><?php $df = disk_free_space("/"); // $df contient le nombre d'octets libres sur "/"?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.diskfreespace"> <refnamediv> <refname>diskfreespace</refname> <refpurpose>Alias de <function>disk_free_space</function></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>diskfreespace</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>diskfreespace</function> est l'ancien nom de la fonction <function>disk_free_space</function>. Elle est obsolète, et il est vivement recommandé d'utiliser <function>disk_free_space</function>. </para> </refsect1> </refentry> <refentry id="function.disk-total-space"> <refnamediv> <refname>disk_total_space</refname> <refpurpose>Retourne la taille d'un dossier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>disk_total_space</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>disk_total_space</function> lit récursivement toutes les tailles du dossier <parameter>directory</parameter> et retourne la somme. <parameter>directory</parameter> peut être aussi une partition de disque. </para> <para> <example> <title>Exemple avec <function>disk_total_space</function></title> <programlisting role="php"><?php $df = disk_total_space("/"); // $df contient le nombre d'octets libres // dans le dossier "/"?> </programlisting> </example> </para> ¬e.sm.uidcheck; </refsect1> </refentry> <refentry id="function.fclose"> <refnamediv> <refname>fclose</refname> <refpurpose>Ferme un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fclose</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fclose</function> ferme le fichier <parameter>fp</parameter>. </para> <para> <function>fclose</function> retourne &true; en cas de succès, et &false; en cas d'échec. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function> ou <function>fsockopen</function>. </para> </refsect1> </refentry> <refentry id="function.feof"> <refnamediv> <refname>feof</refname> <refpurpose>Teste la fin du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>feof</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>feof</function> retourne &true; si le pointeur <parameter>fp</parameter> est à la fin du fichier, ou si une erreur survient, sinon, retourne &false;. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </para> </refsect1> </refentry> <refentry id="function.fflush"> <refnamediv> <refname>fflush</refname> <refpurpose> Envoi tout le contenu généré dans un fichier </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fflush</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fflush</function> force l'écriture de toutes les données bufferisées dans le fichier désigné par <parameter>fp</parameter>. <function>fflush</function> retourne &true; en cas de succès, et &false; sinon. </para> <para> <parameter>fp</parameter> est un pointeur de fichier ouvert avec <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </para> </refsect1> </refentry> <refentry id="function.fgetc"> <refnamediv> <refname>fgetc</refname> <refpurpose> Renvoie le caractère que pointe le pointeur du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fgetc</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fgetc</function> retourne une chaîne contenant un seul caractère, lu depuis le fichier pointé par <parameter>fp</parameter>. <function>fgetc</function> retourne &false; à la fin du fichier (tout comme <function>feof</function>). </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </para> <para> Voir aussi <function>fread</function>, <function>fopen</function>, <function>popen</function>, <function>fsockopen</function> et <function>fgets</function>. </para> </refsect1> </refentry> <refentry id="function.fgetcsv"> <refnamediv> <refname>fgetcsv</refname> <refpurpose> Renvoie la ligne courante et cherche les champs CSV </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fgetcsv</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> <paramdef>string <parameter> <optional>delimiter</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> Identique à <function>fgets</function> mais <function>fgetcsv</function> analyse la ligne qu'il lit et recherche les champs CSV, qu'il va retourner dans un tableau les contenant. Le délimiteur de champs <parameter>delimiter</parameter> est la virgule, à moins que vous ne fournissiez un troisième argument. </simpara> <simpara> <parameter>fp</parameter> doit être un pointeur valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </simpara> <simpara> <parameter>length</parameter> doit être plus grand que la plus grande ligne trouvée dans un fichier CSV (en comptant les caractères de fin de ligne). </simpara> <simpara> <function>fgetcsv</function> retourne &false; en cas d'erreur, ou en cas de fin du fichier. </simpara> <simpara> Note : une ligne vide dans un fichier CSV sera retournée dans le tableau comme une chaîne vide, et ne sera pas traitée comme une erreur. </simpara> <example> <title> Exemple avec <function>fgetcsv</function> </title> <programlisting role="php"><?php $row = 1; $fp = fopen ("test.csv","r"); while ($data = fgetcsv ($fp, 1000, ",")) { $num = count ($data); print "<p> $num champs dans la ligne $row: <br>"; $row++; for ($c=0; $c<$num; $c++) { print $data[$c] . "<br>"; } } fclose ($fp);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fgets"> <refnamediv> <refname>fgets</refname> <refpurpose> Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fgets</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fgets</function> retourne la chaîne lue jusqu'à la longueur <parameter>length</parameter> - 1 octet, ou bien la fin du fichier, ou encore un retour chariot (le premier des trois qui sera rencontré). </para> <para> Si une erreur survient, <function>fgets</function> retourne &false;. </para> <para> Erreur courante : </para> <simpara> Les programmeurs habitués à la programmation 'C' noteront que <function>fgets</function> ne se comporte pas comme son équivalent C lors de la rencontre de la fin du fichier. </simpara> <simpara> <parameter>fp</parameter> doit être valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </simpara> <para> Un exemple simple : <example> <title>Lecture d'un fichier ligne par ligne</title> <programlisting role="php"><?php $fd = fopen ("/tmp/inputfile.txt", "r"); while (!feof($fd)) { $buffer = fgets($fd, 4096); echo $buffer; } fclose ($fd);?> </programlisting> </example> </para> <para> Voir aussi <function>fread</function>, <function>fopen</function>, <function>popen</function>, <function>fgetc</function>, <function>fsockopen</function> et <function>socket_set_timeout</function>. </para> </refsect1> </refentry> <refentry id="function.fgetss"> <refnamediv> <refname>fgetss</refname> <refpurpose> Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier et élimine les balises HTML </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fgetss</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> <paramdef>string <parameter> <optional>allowable_tags</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Identique à <function>fgets</function>, mais <function>fgetss</function> supprime toutes les balises HTML et PHP qu'il trouve dans le texte lu. </para> <para> Vous pouvez aussi préciser les balises qui seront ignorées dans le troisième paramètre, optionnel. <note> <para> <parameter>allowable_tags</parameter> a été ajouté dans PHP 3.0.13, PHP 4B3. </para> </note> </para> <para> Voir aussi <function>fgets</function>, <function>fopen</function>, <function>fsockopen</function>, <function>popen</function> et <function>strip_tags</function>. </para> </refsect1> </refentry> <refentry id="function.file"> <refnamediv> <refname>file</refname> <refpurpose> Lit le fichier et renvoie le résultat dans un tableau. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter><optional>use_include_path</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Identique à <function>readfile</function>, hormis le fait que <function>file</function> retourne le fichier dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne. </para> <para> Vous pouvez utiliser l'option <parameter>use_include_path</parameter> : en la mettant à "1", vous rechercherez aussi dans le dossier <link linkend="ini.include-path">include_path</link>. </para> <para> <informalexample> <programlisting role="php"><?php// Lire une page web dans un tableau, et l'afficher $fcontents = file( 'http://www.php.net' ); while ( list( $numero_ligne, $ligne ) = each( $fcontents ) ) { echo "<B>Ligne $numero_ligne:</B> ".htmlspecialchars( $ligne ) . "<br>\n"; }// lire une page web dans une chaîne $fcontents = join( '', file( 'http://www.php.net' ) );?> </programlisting> </informalexample> </para> <para> Voir aussi <function>readfile</function>, <function>fopen</function>, <function>fsockopen</function> et <function>popen</function>. </para> </refsect1> </refentry> <refentry id="function.file-exists"> <refnamediv> <refname>file_exists</refname> <refpurpose>Vérifie si un fichier existe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>file_exists</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>file_exists</function> retourne &true; si le fichier <parameter>filename</parameter> existe, et &false; sinon. </simpara> <simpara> <function>file_exists</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <simpara> Le résultat de <function>file_exists</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </simpara> </refsect1> </refentry> <refentry id="function.fileatime"> <refnamediv> <refname>fileatime</refname> <refpurpose> Renvoie la date à laquelle le fichier a été accédé pour la dernière fois. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileatime</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fileatime</function> renvoie la date à laquelle le fichier a été accédé pour la dernière fois, ou &false; en cas d'erreur. </simpara> <simpara> <function>fileatime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <simpara> Le résultat de <function>fileatime</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </simpara> </refsect1> </refentry> <refentry id="function.filectime"> <refnamediv> <refname>filectime</refname> <refpurpose> Renvoie l'heure à laquelle l'inode a été accédé pour la dernière fois. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filectime</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filectime</function> renvoie l'heure à laquelle l'inode <parameter>filename</parameter> a été accédé pour la dernière fois, ou &false; en cas d'erreur. </para> <simpara> <function>filectime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Note: Sur la plupart des serveurs UNIX, un fichier est considéré comme modifié si les données de son inode sont modifiées. C'est-à-dire lorsque les permissions (utilisateur, groupe ou autre) ont été modifiées. Voyez aussi <function>filemtime</function> (que vous pourrez utiliser lorsque vous créerez des indications telles que "Dernière modification : " sur les pages web) et <function>fileatime</function>. </para> <para> Notez aussi que sur certains systèmes UNIX, le ctime d'un fichier texte est considéré comme sa date de création. Cela est faux! Il n'y a pas de date de création de fichier sous la plupart des systèmes UNIX. </para> <para> Le résultat de <function>filectime</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.filegroup"> <refnamediv> <refname>filegroup</refname> <refpurpose>Lire le nom du groupe</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filegroup</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filegroup</function> renvoie le groupe qui possède le fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. L'identifiant de groupe est retourné au format numérique, utilisez <function>posix_getgrgid</function> pour retrouver le nom du groupe. </para> <simpara> <function>filegroup</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>filegroup</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <note> <simpara> <function>filegroup</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.fileinode"> <refnamediv> <refname>fileinode</refname> <refpurpose>Renvoie le numéro d'inode du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileinode</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fileinode</function> renvoie le numéro d'inode du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <para> Le résultat de <function>fileinode</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>fileinode</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <note> <simpara> <function>fileinode</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.filemtime"> <refnamediv> <refname>filemtime</refname> <refpurpose> Renvoie la date de dernière modification du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filemtime</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filemtime</function> renvoie la date de dernière modification du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <para> Le résultat de <function>filemtime</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>filemtime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> <function>filemtime</function> retourne l'heure d'écriture des blocs données d'un fichier. Utilisez <function>date</function> sur ce résultat pour obtenir une date de modification humainement lisible. </para> </refsect1> </refentry> <refentry id="function.fileowner"> <refnamediv> <refname>fileowner</refname> <refpurpose>Renvoie le nom du propriétaire du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileowner</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fileowner</function> renvoie le nom du possesseur du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. L'identification du possesseur de fichier est numérique : il faut utiliser <function>posix_getpwuid</function> pour retrouver le nom d'utilisateur. </para> <simpara> <function>fileowner</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>fileowner</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <note> <simpara> <function>fileowner</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.fileperms"> <refnamediv> <refname>fileperms</refname> <refpurpose> Renvoie les permissions affectées au fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileperms</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fileperms</function> renvoie les permissions affectées au fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <simpara> <function>fileperms</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>fileperms</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.filesize"> <refnamediv> <refname>filesize</refname> <refpurpose>Renvoie la taille du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filesize</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filesize</function> renvoie la taille du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <simpara> <function>filesize</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>filesize</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.filetype"> <refnamediv> <refname>filetype</refname> <refpurpose>Retourne le type de fichier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>filetype</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filetype</function> renvoie le type du fichier <parameter>filename</parameter>. Les réponses possibles sont : fifo, char, dir, block, link, file, et unknown. </para> <para> <function>filetype</function> retourne &false; en cas d'erreur. </para> <simpara> <function>filetype</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>filetype</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.flock"> <refnamediv> <refname>flock</refname> <refpurpose>Verrouille le fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>flock</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>operation</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> PHP dispose d'un système complet de verrouillage de fichiers. Tous les programmes qui accèdent au fichier doivent utiliser la même méthode de verrouillage pour qu'il soit efficace. </simpara> <simpara> <function>flock</function> agit sur le fichier <parameter>fp</parameter> qui doit avoir été ouvert au préalable. <parameter>operation</parameter> est une des valeurs suivantes : </simpara> <para> <itemizedlist> <listitem> <simpara> Acquisition d'un verrou : <parameter>operation</parameter> = 1. </simpara> </listitem> <listitem> <simpara> Acquisition d'un verrou exclusif (écriture), <parameter>operation</parameter> = 2. </simpara> </listitem> <listitem> <simpara> Libération d'un verrou (partagé ou exclusif), <parameter>operation</parameter> = 3. </simpara> </listitem> <listitem> <simpara> Si vous voulez que <function>flock</function> ne se bloque pas durant le verrouillage, ajoutez 4 à <parameter>operation</parameter>. </simpara> </listitem> </itemizedlist> </para> <simpara> <function>flock</function> permet de réaliser un système simple de verrous écriture / lecture, qui peut être utilisé sur n'importe quelle plate-forme (Unix et Windows compris). </simpara> <simpara> <function>flock</function> retourne &true; en cas de succès, et &false; sinon. (le verrou n'a pas pu être obtenu). </simpara> <warning> <para> Sur la plupart des OS, <function>flock</function> est implémenté au niveau processus. Lors de l'utilisation des API d'un serveur multi-thread, comme ISAPI, vous ne pouvez pas vous fier à <function>flock</function> pour protéger vos fichiers contre des accès concurrents du même serveur. </para> </warning> </refsect1> </refentry> <refentry id="function.fopen"> <refnamediv> <refname>fopen</refname> <refpurpose>Ouverture d'un fichier ou d'une URL.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fopen</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>string <parameter>mode</parameter></paramdef> <paramdef>int <parameter> <optional>use_include_path</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> Si <parameter>filename</parameter> commence par "http://" (insensible à la casse), une connexion HTTP 1.x est ouverte avec le serveur spécifié, et un pointeur sur la réponse fournie est retourné. Une en-tête '<literal>Host:</literal>' est envoyé avec la requête, afin de gérer les virtual hosts basés sur les noms. </simpara> <simpara> Notez que le pointeur de fichier retourné représente le corps de la réponse, et qu'il n'est pas possible d'accéder aux en-têtes HTTP avec cette fonction. </simpara> <simpara> Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier. </simpara> <simpara> Si <parameter>filename</parameter> commence par "ftp://" (insensible à la casse), une connexion FTP est ouverte avec le serveur spécifié, et un pointeur sur la réponse fournie est retourné. Si le serveur ne supporte par le mode FTP passif, <function>fopen</function> échouera. Vous pouvez ouvrir des fichiers en lecture seulement, ou en écriture seulement (le full duplex n'est pas supporté). </simpara> <simpara> Si <parameter>filename</parameter> commence par "php://stdin", "php://stdout", ou "php://stderr", le flot correspondant sera ouvert. (Cela a été introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" ou "/dev/fd/0" devaient être utilisés pour accéder à ces flots). </simpara> <simpara> Si <parameter>filename</parameter> commence par n'importe quoi d'autre, PHP tentera de lire ce fichier dans le système local, et un pointeur sur le fichier ouvert sera retourné. </simpara> <simpara> Si l'ouverture échoue, <function>fopen</function> retourne &false;. </simpara> <para> <parameter>mode</parameter> peut prendre les valeurs suivantes : <itemizedlist> <listitem> <simpara> 'r' - Ouvre en lecture seule, et place le pointeur de fichier au début du fichier. </simpara> </listitem> <listitem> <simpara> 'r+' - Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier. </simpara> </listitem> <listitem> <simpara> 'w' - Ouvre en écriture seule; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> <listitem> <simpara> 'w+' - Ouvre en lecture et écriture; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> <listitem> <simpara> 'a' - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> <listitem> <simpara> 'a+' - Ouvre en lecture et écriture; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> </itemizedlist> De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option n'est utile que sur les systèmes qui font la différence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalité Windows, totalement inutile sous Unix). S'il n'est pas nécessaire, il sera ignoré. </para> <para> Vous pouvez utiliser le troisième paramètre optionnel pour explorer le dossier <link linkend="ini.include-path">include_path</link>, en le mettant à 1. </para> <para> <example> <title>Exemple avec <function>fopen</function></title> <programlisting role="php"><?php $fp = fopen("/home/rasmus/file.txt", "r"); $fp = fopen("http://www.php.net/", "r"); $fp = fopen("ftp://user:password@example.com/", "w");?> </programlisting> </example> </para> <simpara> Si vous rencontrez des problèmes en lecture ou écriture de fichier et que vous utilisez PHP en version module de serveur, n'oubliez pas que les fichiers auxquels vous accédez ne sont pas nécessairement accessibles au processus serveur. </simpara> <para> Sous Windows, assurez-vous de bien échapper les anti-slash utilisés dans le chemin du fichier, ou bien utilisez des slash. <informalexample> <programlisting role="php"><?php $fp = fopen("c:\\data\\info.txt", "r");?> </programlisting> </informalexample> </para> <simpara> Voir aussi <function>fclose</function>, <function>fsockopen</function>, <function>socket_set_timeout</function> et <function>popen</function>. </simpara> </refsect1> </refentry> <refentry id="function.fpassthru"> <refnamediv> <refname>fpassthru</refname> <refpurpose> Affiche la partie du fichier située après le pointeur du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fpassthru</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fpassthru</function> lit tout le reste d'un fichier jusqu'à la fin, et dirige le résultat vers la sortie standard. </simpara> <simpara> Si une erreur survient, <function>fpassthru</function> retourne &false;. </simpara> <simpara> Le pointeur de fichier doit être valide, et doit avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. Après lecture, <function>fpassthru</function> va fermer le fichier (le pointeur <parameter>fp</parameter> sera alors invalide). </simpara> <simpara> Si vous voulez simplement afficher le contenu d'un fichier, il suffit d'utiliser <function>readfile</function>, ce qui épargnera l'appel à <function>fopen</function>. </simpara> <simpara> Voir aussi <function>readfile</function>, <function>fopen</function>, <function>popen</function> et <function>fsockopen</function>. </simpara> </refsect1> </refentry> <refentry id="function.fputs"> <refnamediv> <refname>fputs</refname> <refpurpose>Ecrit dans un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fputs</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter> <optional>length</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fputs</function> est un alias de <function>fwrite</function>, et lui est identique en tous points. Notez que <parameter>length</parameter> est un paramètre optionnel, et s'il n'est pas spécifié, toute la chaîne est écrite. </para> </refsect1> </refentry> <refentry id="function.fread"> <refnamediv> <refname>fread</refname> <refpurpose>Lecture du fichier en mode binaire.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fread</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fread</function> lit jusqu'à <parameter>length</parameter> octets dans le fichier reférencé par <parameter>fp</parameter>. La lecture s'arrête lorsque <parameter>length</parameter> octets ont été lus, ou que l'on a atteint la fin du fichier, ou qu'une erreur survient (le premier des trois). </simpara> <para> <informalexample> <programlisting role="php"><?php// Lit un fichier, et le place dans une chaîne $filename = "/usr/local/quelquechose.txt"; $fd = fopen($filename, "r"); $contents = fread($fd, filesize ($filename)); fclose($fd);?> </programlisting> </informalexample> </para> <note> <para> Sur les systèmes qui différencient les fichiers textes et binaires (i.e. Windows) le fichier doit être ouvert avec la lettre 'b' ajoutée au paramètre de mode de la fonction <function>fopen</function>. </para> </note> <note> <para> <informalexample> <programlisting role="php"><?php $filename = "c:\\fichiers\\uneimage.gif"; $fd = fopen($filename, "rb"); $contents = fread($fd, filesize ($filename)); fclose($fd);?> </programlisting> </informalexample> </para> </note> <simpara> Voir aussi <function>fwrite</function>, <function>fopen</function>, <function>fsockopen</function>, <function>popen</function>, <function>fgets</function>, <function>fgetss</function>, <function>file</function> et <function>fpassthru</function>. </simpara> </refsect1> </refentry> <refentry id="function.fscanf"> <refnamediv> <refname>fscanf</refname> <refpurpose>Analyse un fichier en fonction d'un format</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>fscanf</function></funcdef> <paramdef>int <parameter>handle</parameter></paramdef> <paramdef>string <parameter>format</parameter></paramdef> <paramdef>string <parameter><optional>var1</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fscanf</function> est similaire à <function>sscanf</function>, mais elle prend comme entrée un fichier, associé à <parameter>handle</parameter> et l'interprète en fonction du format <parameter>format</parameter>. Si seulement deux paramètres sont passés à la fonction, les valeurs analysées seront retournées sous forme de tableau. Si des arguments optionnels sont passés, la fonction retournera le nombre de valeurs assignées. Les options doivent être passées par référence. <example> <title>Exemple <function>fscanf</function></title> <programlisting role="php"><?php $fp = fopen ("users.txt","r"); while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) { list ($name, $profession, $countrycode) = $userinfo; //... traitement des données } fclose($fp);?> </programlisting> </example> <example> <title>users.txt</title> <programlisting role="txt">janus argonaute grrodin sculpteur frsam oncle usleonard inventeur it </programlisting> </example> </para> <para> Voir aussi <function>fread</function>, <function>fgets</function>, <function>fgetss</function>, <function>sscanf</function>, <function>printf</function> et <function>sprintf</function>. </para> </refsect1> </refentry> <refentry id="function.fseek"> <refnamediv> <refname>fseek</refname> <refpurpose>Modifie le pointeur de fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fseek</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fseek</function> modifie le curseur de position dans le fichier <parameter>fp</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>. Ce paramètre peut prendre les valeurs suivantes : <simplelist> <member> SEEK_SET - La position finale vaut <parameter>offset</parameter> octets. </member> <member> SEEK_CUR - La position finale vaut la position courante ajoutée à <parameter>offset</parameter> octets. </member> <member> SEEK_END - La position finale vaut la position courante par rapport à la fin du fichier, ajoutée de <parameter>offset</parameter>. </member> </simplelist> </para> <para> Si <parameter>whence</parameter> n'est pas spécifiée, il vaut par défaut SEEK_SET. </para> <para> <function>fseek</function> retourne &true; en cas de succès, et sinon -1. Notez que positionner le pointeur au delà de la fin du fichier n'est pas une erreur. </para> <para> <function>fseek</function> ne peut pas être utilisé sur les pointeurs retournés par <function>fopen</function> s'ils sont au format HTTP ou FTP. </para> <para> Voir aussi <function>ftell</function> et <function>rewind</function>. </para> </refsect1> </refentry> <refentry id="function.fstat"> <refnamediv> <refname>fstat</refname> <refpurpose> Lit les informations sur un fichier à partir d'un pointeur de fichier </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fstat</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fstat</function> rassemble les informations sur le fichier dont on connaît le pointeur <parameter>fp</parameter>. <function>fstat</function> est similaire à la fonction <function>stat</function>, hormis le fait qu'elle utilise un pointeur de fichier, au lieu d'un nom de fichier. </para> <para> <function>fstat</function> retourne un tableau avec les éléments suivants : <itemizedlist> <listitem><simpara>1 : volume </simpara></listitem> <listitem><simpara>2 : inode</simpara></listitem> <listitem><simpara>3 : mode de protection du inode </simpara></listitem> <listitem><simpara>4 : nombre de liens </simpara></listitem> <listitem><simpara>5 : id de l'utilisateur propriétaire </simpara></listitem> <listitem><simpara>6 : id du groupe propriétaire</simpara></listitem> <listitem><simpara>7 : type du volume de l'inode * </simpara></listitem> <listitem><simpara>8 : taille en octets </simpara></listitem> <listitem><simpara>9 : date du dernier accès </simpara></listitem> <listitem><simpara>10 : date de la dernière modification </simpara></listitem> <listitem><simpara>11 : date du dernier changement </simpara></listitem> <listitem><simpara>12 : taille de bloc du système pour les entrées/sorties(*)</simpara></listitem> <listitem><simpara>13 : Nombre de blocs alloués</simpara></listitem> </itemizedlist> * - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (i.e. Windows) retournent -1. </para> <para> Les résultats de <function>fstat</function> sont mis en cache. Reportez-vous à la fonction <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.ftell"> <refnamediv> <refname>ftell</refname> <refpurpose>Renvoie la position du pointeur du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>ftell</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>ftell</function> retourne la position courante du pointeur dans le fichier repéré par le pointeur <parameter>fp</parameter>, i.e., son offset. </para> <para> Si une erreur survient, retourne &false;. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function> ou <function>popen</function>. </para> <para> Voir aussi <function>fopen</function>, <function>popen</function>, <function>fseek</function> et <function>rewind</function>. </para> </refsect1> </refentry> <refentry id="function.ftruncate"> <refnamediv> <refname>ftruncate</refname> <refpurpose>Tronque un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>ftruncate</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>ftruncate</function> prend le pointeur de fichier <parameter>fp</parameter> et le tronque à la taille de <parameter>size</parameter>.<function>ftruncate</function> retourne &true; en cas de succès, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.fwrite"> <refnamediv> <refname>fwrite</refname> <refpurpose>Ecriture du fichier en mode binaire.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fwrite</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>string <parameter>string</parameter></paramdef> <paramdef>int <parameter> <optional>length</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fwrite</function> écrit le contenu de la chaîne <parameter>string</parameter> dans le fichier pointé par <parameter>fp</parameter>. Si la longueur <parameter>length</parameter> est fournie, l'écriture s'arrêtera après <parameter>length</parameter> octets, ou à la fin de la chaîne (le premier des deux). </simpara> <simpara> Notez que si <parameter>length</parameter> est fourni, alors l'option de configuration <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link> sera ignorée, et les slash seront conservés. </simpara> <note> <para> De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option n'est utile que sur les systèmes qui font la différence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalité Windows, totalement inutile sous Unix). S'il n'est pas nécessaire, il sera ignoré. </para> </note> <simpara> Voir aussi <function>fread</function>, <function>fopen</function>, <function>fsockopen</function>, <function>popen</function> et <function>fputs</function>. </simpara> </refsect1> </refentry> <refentry id="function.set-file-buffer"> <refnamediv> <refname>set_file_buffer</refname> <refpurpose> Fixe la bufferisation de fichier </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>set_file_buffer</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>buffer</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> L'écriture de fichier avec <function>fwrite</function> utilise normalement un buffer de 8K. Cela signifie que si deux processus essaient d'écrire dans le même fichier, ils font une pause tous les 8ko pour laisser le temps à l'autre d'écrire à son tour. <function>set_file_buffer</function> permet de modifier la taille du buffer de sortie pour le pointeur de fichier <parameter>fp</parameter> à <parameter>buffer</parameter> octets. Si <parameter>buffer</parameter> vaut 0, l'écriture se fera sans buffer. Cela force un processus à écrire toutes ses données dans un fichier avant que les autres puissent y accéder. </simpara> <simpara> <function>set_file_buffer</function> retourne 0 en cas de succès, ou EOF si la requête ne peut pas être honorée. </simpara> <para> L'exemple suivant montre comment utiliser la fonction <function>set_file_buffer</function> pour créer un fichier sans buffer. <example> <title>Exemple avec <function>set_file_buffer</function></title> <programlisting role="php"><?php $fp=fopen($file, "w"); if($fp){ set_file_buffer($fp, 0); fputs($fp, $output); fclose($fp); }?> </programlisting> </example> </para> <simpara> Voir aussi <function>fopen</function> et <function>fwrite</function>. </simpara> </refsect1> </refentry> <refentry id="function.is-dir"> <refnamediv> <refname>is_dir</refname> <refpurpose>Indique si le nom de fichier est un dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_dir</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_dir</function> retourne &true; si <parameter>filename</parameter> existe et est un dossier. </para> <para> Le résultat de <function>is_dir</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_dir</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_file</function> et <function>is_link</function>. </para> </refsect1> </refentry> <refentry id="function.is-executable"> <refnamediv> <refname>is_executable</refname> <refpurpose>Indique si le fichier est exécutable.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_executable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_executable</function> retourne &true; si <parameter>filename</parameter> existe et est exécutable. </para> <para> Le résultat de <function>is_executable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_executable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_file</function> et <function>is_link</function>. </para> </refsect1> </refentry> <refentry id="function.is-file"> <refnamediv> <refname>is_file</refname> <refpurpose> Indique si le fichier est un véritable fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_file</function> retourne &true; si <parameter>filename</parameter> existe et est un fichier (et pas un dossier). </para> <para> Le résultat de <function>is_file</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_file</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_dir</function> et <function>is_link</function>. </para> </refsect1> </refentry> <refentry id="function.is-link"> <refnamediv> <refname>is_link</refname> <refpurpose> Indique si le fichier est un lien symbolique. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_link</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_link</function> retourne &true; si <parameter>filename</parameter> existe et est un lien symbolique. </para> <para> Le résultat de <function>is_link</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_link</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_dir</function> et <function>is_file</function>. </para> <note> <simpara> <function>is_link</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.is-readable"> <refnamediv> <refname>is_readable</refname> <refpurpose>Indique un fichier est autorisé en lecture</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_readable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_readable</function> retourne &true; si <parameter>filename</parameter> existe et est accessible en lecture. </para> <para> N'oubliez pas que PHP accède aux fichiers avec les mêmes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). </para> <para> Le résultat de <function>is_readable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_readable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_writable</function>. </para> </refsect1> </refentry> <refentry id="function.is-writable"> <refnamediv> <refname>is_writable</refname> <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_writable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_writable</function> retourne &true; si <parameter>filename</parameter> existe et est accessible en écriture. </para> <para> N'oubliez pas que PHP accède aux fichiers avec les mêmes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). </para> <simpara> <function>is_writable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>is_writable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <para> Voir aussi <function>is_readable</function>. </para> </refsect1> </refentry> <refentry id="function.is-writeable"> <refnamediv> <refname>is_writeable</refname> <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_writeable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_writeable</function> est un alias de <function>is_writable</function>. </para> </refsect1> </refentry> <refentry id="function.is-uploaded-file"> <refnamediv> <refname>is_uploaded_file</refname> <refpurpose> Indique si le fichier a été téléchargé par HTTP POST </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_uploaded_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_uploaded_file</function> est disponible à partir des versions PHP 3.0.16 et 4.0.2. </para> <para> <function>is_uploaded_file</function> retourne &true; si le fichier <varname>filename</varname> a été téléchargé par HTTP POST. Cela est très utile pour vous assurer qu'un utilisateur n'essaie pas d'accéder intentionnellement à un fichier auquel il n'a pas droit (comme <filename>/etc/passwd</filename>). </para> <para> Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révélent leur contenu à l'utilisateur, ou même aux utilisateurs du même système. </para> <para> Voir aussi <function>move_uploaded_file</function>, et la section <link linkend="features.file-upload">Chargement de fichier</link> pour un exemple simple. </para> </refsect1> </refentry> <refentry id="function.link"> <refnamediv> <refname>link</refname> <refpurpose>Crée un lien.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>link</function></funcdef> <paramdef>string <parameter>target</parameter></paramdef> <paramdef>string <parameter>link</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>link</function> crée un lien. </para> <para> Voir aussi <function>symlink</function> pour créer des liens symboliques et <function>readlink</function> avec <function>linkinfo</function>. </para> <note> <simpara> <function>link</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.linkinfo"> <refnamediv> <refname>linkinfo</refname> <refpurpose>Renvoie les informations à propos d'un lien.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>linkinfo</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>linkinfo</function> renvoie les informations à propos d'un lien, c'est-à-dire le champs st_dev de la structure d'information UNIX (comme en langage C). <function>linkinfo</function> sert à vérifier si un lien (repéré par <parameter>path</parameter>) existe (en utilisant la même méthode que la macro S_ISLNK de stat.h). <function>linkinfo</function> retourne &false; en cas d'erreur. </para> <para> Voir aussi <function>symlink</function>, <function>link</function> et <function>readlink</function>. </para> <note> <simpara> <function>linkinfo</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.mkdir"> <refnamediv> <refname>mkdir</refname> <refpurpose>Crée un dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>mkdir</function></funcdef> <paramdef>string <parameter>pathname</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mkdir</function> tente de créer un dossier dans le chemin <parameter>pathname</parameter>. </para> <para> Notez que vous aurez à préciser le mode en base octale, ce qui signifie que vous aurez probablement un 0 comme premier chiffre. Le mode sera aussi modifié par le umask courant, que vous pouvez modifier avec la fonction <function>umask</function>. <informalexample> <programlisting role="php"><?php mkdir ("/chemin/de/mon/dossier", 0700);?> </programlisting> </informalexample> </para> <para> <function>mkdir</function> retourne &true; en cas de succès, et &false; en cas d'échec. </para> <para> Voir aussi <function>rmdir</function>. </para> </refsect1> </refentry> <refentry id="function.move-uploaded-file"> <refnamediv> <refname>move_uploaded_file</refname> <refpurpose>Déplace un fichier téléchargé.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>move_uploaded_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>string <parameter>destination</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>move_uploaded_file</function> est disponible à partir des versions PHP 3.0.16 et 4.0.2. </para> <para> <function>move_uploaded_file</function> s'assure que le fichier <parameter>filename</parameter> est un fichier téléchargé par HTTP POST. Si le fichier est valide, il est déplacé jusqu'à <parameter>destination</parameter>. </para> <para> Si <parameter>filename</parameter> n'est pas valide, rien ne se passe, et <function>move_uploaded_file</function> retournera &false;. </para> <para> Si <parameter>filename</parameter> est un fichier téléchargé, mais que pour une raison quelconque, il ne peut être déplacé, rien ne se passe, et <function>move_uploaded_file</function> retourne &false;. De plus, une alerte sera affichée. </para> <para> Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révèlent leur contenu à l'utilisateur, ou même aux utilisateurs du même système. </para> <para> Voir aussi <function>move_uploaded_file</function> et la section <link linkend="features.file-upload">Chargement de fichier</link> pour un exemple simple. </para> </refsect1> </refentry> <refentry id="function.parse-ini-file"> <refnamediv> <refname>parse_ini_file</refname> <refpurpose>Traite un fichier de configuration</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>parse_ini_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>bool <parameter> <optional>process_sections</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>parse_ini_file</function> charge le fichier <parameter>filename</parameter> et retourne les configuration qui s'y trouve sous forme d'un tableau associatif. En passant le deuxième paramètre optionnel à <parameter>process_sections</parameter>, vous obtiendrez un tableau multi-dimensionnel, avec les noms des sections. La valeur par défaut de ce paramètre est &false; </para> <note> <para> Cette fonction n'a rien a voir avec le fichier <filename>php.ini</filename>. Ce dernier a déjà était traité lorsque vous commencez a exécuter votre script. Cette fonction peut vous permettre de lire vos propres fichiers de configuration. </para> </note> <para> La structure des fichiers de configuration lus est similaire à celle de <filename>php.ini</filename>. </para> <para> <example> <title>Contenu de exemple.ini</title> <programlisting>; Ceco est un fichier de configuration; Les commentaires commencent par ';', comme dans php.ini[premiere_section]un = 1cinq = 5[seconde_section]chemin = /usr/local/bin </programlisting> </example> </para> <para> <example> <title>Exemple avec <function>parse_ini_file</function></title> <programlisting><?php// Traitement sans les sections$ini_array = parse_ini_file("exemple.ini");print_r($ini_array);// Traitement avec les sections$ini_array = parse_ini_file("sample.ini", TRUE);print_r($ini_array);?> </programlisting> </example> </para> <para> Cet exemple va produire : <informalexample> <programlisting>Array( [un] => 1 [cinq] => 5 [chemin] => /usr/local/bin)Array( [premiere_section] => Array ( [un] => 1 [cinq] => 5 ) [seconde_section] => Array ( [chemin] => /usr/local/bin )) </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.pathinfo"> <refnamediv> <refname>pathinfo</refname> <refpurpose>Retourne des informations sur un chemin système</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>pathinfo</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>pathinfo</function> retourne un tableau associatif, contenant les informations sur le chemin <parameter>path</parameter>. Les éléments suivants sont retournés : <parameter>dirname</parameter>, <parameter>basename</parameter> et <parameter>extension</parameter>. </para> <para> <example> <title>Exemple avec <function>pathinfo</function></title> <programlisting role="php"><?php $path_parts = pathinfo("/www/htdocs/index.html"); echo $path_parts["dirname"] . "\n"; echo $path_parts["basename"] . "\n"; echo $path_parts["extension"] . "\n";?> </programlisting> </example> </para> <para> Va afficher : <informalexample> <programlisting>/www/htdocsindex.htmlhtml </programlisting> </informalexample> </para> <para> Voir aussi <function>dirname</function>, <function>parse_url</function>, <function>basename</function> et <function>realpath</function>. </para> </refsect1> </refentry> <refentry id="function.pclose"> <refnamediv> <refname>pclose</refname> <refpurpose>Ferme un processus de pointeur de fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>pclose</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>pclose</function> ferme un processus de pointeur de fichier ouvert par <function>popen</function>. </para> <para> Le pointeur de fichier doit être valide, et avoir été ouvert correctement par <function>popen</function>. </para> <para> <function>pclose</function> retourne le statut final du processus exécuté. </para> <para> Voir aussi <function>popen</function>. </para> </refsect1> </refentry> <refentry id="function.popen"> <refnamediv> <refname>popen</refname> <refpurpose>Crée un processus de pointeur de fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>popen</function></funcdef> <paramdef>string <parameter>commet</parameter></paramdef> <paramdef>string <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>popen</function> ouvre un processus fils en faisant un fork de la commande. </para> <para> <function>popen</function> retourne un pointeur de fichier identique à celui retourné par <function>fopen</function>, hormis le fait qu'il sera unidirectionnel (lecture seule, ou écriture seule), et doit être terminé par <function>pclose</function>. Ce pointeur peut être utilisé avec <function>fgets</function>, <function>fgetss</function> et <function>fputs</function>. </para> <para> Si une erreur survient, retourne &false;. </para> <para> <informalexample> <programlisting role="php"><?php $fp = popen("/bin/ls", "r");?> </programlisting> </informalexample> </para> <para> Voir aussi <function>pclose</function>. </para> </refsect1> </refentry> <refentry id="function.readfile"> <refnamediv> <refname>readfile</refname> <refpurpose>Affiche un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>readfile</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter> <optional>use_include_path</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>readfile</function> lit le fichier <parameter>filename</parameter> et l'envoit à la sortie standard. </para> <para> <function>readfile</function> retourne le nombre d'octets lus depuis le fichier. Si une erreur survient, retourne &false;. </para> <para> Si <parameter>filename</parameter> commence par "http://" (insensible à la casse), une connexion HTTP 1.0 sera ouverte avec le serveur spécifié, et le texte de la réponse sera affiché sur la sortie standard. </para> <simpara> Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier. </simpara> <para> Si <parameter>filename</parameter> commence par "ftp://" (insensible à la casse), une connexion FTP est ouverte avec l'hôte spécifié et la réponse du serveur est affichée. Si le serveur ne supporte les connexions passives, la requête échouera. </para> <para> Si <parameter>filename</parameter> ne commence par aucun des cas précédents, le fichier sera ouvert sur l'hôte local, et envoyé à la sortie standard. </para> <para> Vous pouvez utiliser le deuxième paramètre optionnel pour explorer le dossier <link linkend="ini.include-path">include_path</link>, en passant la valeur de 1. </para> <para> Voir aussi <function>fpassthru</function>, <function>file</function>, <function>fopen</function>, <function>include</function>, <function>require</function> et <function>virtual</function>. </para> </refsect1> </refentry> <refentry id="function.readlink"> <refnamediv> <refname>readlink</refname> <refpurpose> Renvoie le nom du fichier vers lequel pointe un lien symbolique. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>readlink</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>readlink</function> fait la même chose que la fonction readlink en C : elle retourne le contenu du lien symbolique repéré par <parameter>path</parameter>, ou &false; en cas d'erreur. </para> <para> Voir aussi <function>symlink</function>, <function>readlink</function> et <function>linkinfo</function>. </para> <note> <simpara> <function>readlink</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.rename"> <refnamediv> <refname>rename</refname> <refpurpose>Renomme un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>rename</function></funcdef> <paramdef>string <parameter>oldname</parameter></paramdef> <paramdef>string <parameter>newname</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rename</function> rente de renommer le fichier <parameter>oldname</parameter> en <parameter>newname</parameter>. </para> <para> <function>rename</function> retourne &true; en cas de succès et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.rewind"> <refnamediv> <refname>rewind</refname> <refpurpose>Replace le pointeur de fichier au début.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>rewind</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rewind</function> replace le pointeur du fichier <parameter>fp</parameter> au début. </para> <para> Si une erreur survient, retourne &false;. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function>. </para> <para> Voir aussi <function>fseek</function> et <function>ftell</function>. </para> </refsect1> </refentry> <refentry id="function.rmdir"> <refnamediv> <refname>rmdir</refname> <refpurpose>Efface un dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>rmdir</function></funcdef> <paramdef>string <parameter>dirname</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rmdir</function> tente d'effacer le dossier dont le chemin est <parameter>dirname</parameter>. Le dossier doit être vide, et le script doit avoir les autorisations adéquates. </para> <para> Si une erreur survient, <function>rmdir</function> retourne &false;. </para> <para> Voir aussi <function>mkdir</function>. </para> </refsect1> </refentry> <refentry id="function.stat"> <refnamediv> <refname>stat</refname> <refpurpose>Renvoie les informations à propos d'un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>stat</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>stat</function> renvoie les informations à propos du fichier filename. </para> <para> <function>stat</function> retourne un tableau avec les éléments suivants : <itemizedlist> <listitem><simpara>0 : volume </simpara></listitem> <listitem><simpara>1 : inode</simpara></listitem> <listitem> <simpara> 2 : droits d'accès au fichier (mode de protection du inode). A convertir en octal. Voir aussi <function>fileperms</function>. </simpara> </listitem> <listitem><simpara>3 : nombre de liens </simpara></listitem> <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> <listitem><simpara>7 : taille en octets </simpara></listitem> <listitem><simpara>8 : date du dernier accès </simpara></listitem> <listitem><simpara>9 : date de la dernière modification </simpara></listitem> <listitem><simpara>10 : date du dernier changement </simpara></listitem> <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> </itemizedlist> * - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (i.e. Windows) retournent -1. </para> <para> <function>stat</function> retourne &false; en cas d'erreur. </para> <para> <function>stat</function> ne gère pas les URL comme peut le faire <function>fopen</function>. </para> <para> Les résultats de <function>stat</function> sont mis en cache. Reportez-vous à la fonction <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.lstat"> <refnamediv> <refname>lstat</refname> <refpurpose> Renvoie les informations à propos d'un fichier ou d'un lien symbolique. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>lstat</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>lstat</function> est identique à <function>stat</function> mais elle accepte aussi un lien symbolique comme argument. </para> <para> <function>lstat</function> retourne un tableau avec les éléments suivants : <itemizedlist> <listitem><simpara>0 : volume </simpara></listitem> <listitem><simpara>1 : inode</simpara></listitem> <listitem> <simpara> 2 : droits d'accès au fichier (mode de protection du inode). A convertir en octal. Voir aussi <function>fileperms</function>. </simpara> </listitem> <listitem><simpara>3 : nombre de liens </simpara></listitem> <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> <listitem><simpara>7 : taille en octets </simpara></listitem> <listitem><simpara>8 : date du dernier accès </simpara></listitem> <listitem><simpara>9 : date de la dernière modification </simpara></listitem> <listitem><simpara>10 : date du dernier changement </simpara></listitem> <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> </itemizedlist> * - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (i.e. Windows) retournent -1. </para> <para> Les résultats de <function>lstat</function> sont mis en cache. Reportez-vous à la fonction <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.realpath"> <refnamediv> <refname>realpath</refname> <refpurpose>Retourne le chemin canonique absolu.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>realpath</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>realpath</function> résoud tous les liens symboliques, et remplace toutes les références '/./', '/../' et '/' de <parameter>path</parameter> puis retourne le chemin canonique absolu ainsi trouvé. Le résultat ne contient aucun lien symbolique, '/./' ou '/../'. </para> <para> <example> <title>Exemple <function>realpath</function></title> <programlisting role="php"><?php $real_path = realpath("../../index.php");?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.symlink"> <refnamediv> <refname>symlink</refname> <refpurpose>Crée un lien symbolique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>symlink</function></funcdef> <paramdef>string <parameter>target</parameter></paramdef> <paramdef>string <parameter>link</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>symlink</function> crée un lien symbolique pour l'objet <parameter>target</parameter> avec le nom de <parameter>link</parameter>. </para> <para> Voir aussi <function>link</function> pour créer des liens durs et <function>readlink</function> ainsi que <function>linkinfo</function>. </para> <note> <simpara> <function>symlink</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.tempnam"> <refnamediv> <refname>tempnam</refname> <refpurpose>Crée un fichier avec un nom unique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>tempnam</function></funcdef> <paramdef>string <parameter>dir</parameter></paramdef> <paramdef>string <parameter>prefix</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>tempnam</function> crée un fichier temporaire unique dans le dossier <parameter>dir</parameter>. Si le dossier n'existe pas, <function>tempnam</function> va générer un nom de fichier dans le dossier temporaire du système. </para> <para> Avant PHP 4.0.6, le comportement de <function>tempnam</function> dépendait de l'OS sous-jacent. Sous Windows, la variable d'environnement TMP remplace le paramètre <parameter>dir</parameter>; sous Linux, la variable d'environnement TMPDIR a la priorité, tandis que pour les OS en système V R4, le paramètre <parameter>dir</parameter> sera toujours utilisé, si le dossier qu'il représente existe. Consultez votre documentation pour plus de détails. </para> <para> <function>tempnam</function> retourne le nom du fichier temporaire, ou la chaîne &null; en cas d'échec. <example> <title>Exemple avec <function>tempnam</function></title> <programlisting role="php"><?php $tmpfname = tempnam("/tmp", "FOO");?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.tmpfile"> <refnamediv> <refname>tmpfile</refname> <refpurpose>Crée un fichier temporaire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>tmpfile</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>tmpfile</function> crée un fichier temporaire avec un nom unique, ouvert en écriture, et retourne un pointeur de fichier, identique à ceux retournés par <function>fopen</function>. Ce fichier sera automatiquement effacé lorsqu'il sera fermé (avec <function>fclose</function>), ou lorsque le script sera terminé. </para> <para> Pour plus de détails, consultez votre documentation système sur la fonction <literal>tmpfile(3)</literal>, et sur <filename>stdio.h</filename>. </para> <para> Voir aussi <function>tempnam</function>. </para> </refsect1> </refentry> <refentry id="function.touch"> <refnamediv> <refname>touch</refname> <refpurpose> Affecte une nouvelle date de modification à un fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>touch</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter>time</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>touch</function> tente de forcer la date de modification du fichier nommé <parameter>filename</parameter> à la date de <parameter>time</parameter>. Si <parameter>time</parameter> est omis, c'est l'heure courante qui est utilisée. </para> <para> Si le fichier n'existe pas, il est créé. </para> <para> <function>touch</function> retourne &true; en cas de succès, et &false; sinon. <example> <title>Exemple avec <function>touch</function></title> <programlisting role="php">if ( touch($NomDeFichier) ) { print "La date de modification de $NomDeFichier a été fixée à maintenant";} else { print "Désolé, il est impossible de changer la date de modification de $NomDeFichier";} </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.umask"> <refnamediv> <refname>umask</refname> <refpurpose>Change le "umask" courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>umask</function></funcdef> <paramdef>int <parameter>mask</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>umask</function> change le umask de PHP : mask & 0777 et retourne le vieux umask. Lorsque PHP est utilisé comme module de serveur, le umask reprend sa valeur à la fin de chaque script. </para> <para> <function>umask</function> appelé sans argument retourne simplement le umask courant. </para> </refsect1> </refentry> <refentry id="function.unlink"> <refnamediv> <refname>unlink</refname> <refpurpose>Efface un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>unlink</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>unlink</function> efface <parameter>filename</parameter>. Identique à la fonction Unix C unlink(). </para> <para> <function>unlink</function> retourne &false; en cas d'échec. </para> <para> Voir aussi <function>rmdir</function> pour supprimer des dossiers. </para> <note> <simpara> <function>unlink</function> ne fonctionne pas sous Windows. </simpara> </note> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/funchand.xml diff -u phpdoc/fr/functions/funchand.xml:1.15 phpdoc/fr/functions/funchand.xml:1.16 --- phpdoc/fr/functions/funchand.xml:1.15 Mon Jul 23 12:50:16 2001 +++ phpdoc/fr/functions/funchand.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.16 $ --> <reference id="ref.funchand"> <title>Fonctions</title> <titleabbrev>Fonctions</titleabbrev> @@ -100,12 +102,14 @@ Par exemple : <informalexample> <programlisting role="php"> -function barbier ($type) { +<?php + function barbier ($type) { print "Vous vouliez une coupe $type, pas de problème"; -} -call_user_func ('barbier', "iroquois"); -call_user_func ('barbier', "militaire"); -call_user_func ('barbier', "au bol"); + } + call_user_func('barbier', "iroquois"); + call_user_func('barbier', "militaire"); + call_user_func('barbier', "au bol"); +?> </programlisting> </informalexample> </para> @@ -153,9 +157,9 @@ </title> <programlisting role="php"> <?php -$newfunc = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);'); -echo "Nouvelle fonction anonyme : $newfunc\n"; -echo $newfunc(2,M_E)."\n"; + $newfunc = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);'); + echo "Nouvelle fonction anonyme : $newfunc\n"; + echo $newfunc(2,M_E)."\n"; // affichera : // Nouvelle fonction anonyme : lambda_1 // ln(2) + ln(2.718281828459) = 1.6931471805599 @@ -347,7 +351,7 @@ <informalexample> <programlisting role="php"> <?php -function foo() { + function foo() { $numargs = func_num_args(); echo "Nombre d'arguments: $numargs<br>\n"; if ($numargs >= 2) { @@ -357,8 +361,8 @@ for ($i = 0; $i < $numargs; $i++) { echo "L'argument $i est: " . $arg_list[$i] . "<br>\n"; } -} -foo (1, 2, 3); + } + foo(1, 2, 3); ?> </programlisting> </informalexample> @@ -403,11 +407,11 @@ <informalexample> <programlisting role="php"> <?php -function foo() { + function foo() { $numargs = func_num_args(); echo "Nombre d'arguments: $numargs\n"; -} -foo (1, 2, 3); // affiche 'Nombre d'arguments: 3' + } + foo (1, 2, 3); // affiche 'Nombre d'arguments: 3' ?> </programlisting> </informalexample> Index: phpdoc/fr/functions/gmp.xml diff -u phpdoc/fr/functions/gmp.xml:1.8 phpdoc/fr/functions/gmp.xml:1.9 --- phpdoc/fr/functions/gmp.xml:1.8 Sat Jul 7 18:22:09 2001 +++ phpdoc/fr/functions/gmp.xml Mon Nov 12 00:10:20 2001 @@ -1,979 +1 @@ - <reference id="ref.gmp"> - <title>GMP</title> - <titleabbrev>GMP</titleabbrev> - <partintro> - <simpara> - Ces fonctions vous permettent de travailler avec des nombres de taille - arbitraire, en utilisant la librairie GNU <acronym>MP</acronym>. - Pour pouvoir y accéder, vous devez compiler PHP avec le support - <acronym>GMP</acronym> en utilisant l'option - <option role="configure">--with-gmp</option>. - </simpara> - <simpara> - Vous pouvez télécharger <acronym>GMP</acronym> sur le site de <ulink - url="&url.gmp;">&url.gmp;</ulink>. - Ce site propose aussi un manuel <acronym>GMP</acronym>. - </simpara> - <simpara> - Vous devez utiliser GMP version 2 ou plus récent pour utiliser ces fonctions. - Certaines d'entre elles peuvent requérir une version encore plus récente de - GMP. - </simpara> - <simpara> - Ces fonctions ont été ajoutée dans PHP 4.0.4. - </simpara> - <note> - <para> - La plupart des fonctions GMP acceptent des nombres GMP comme arguments, - définis ci-dessous comme <literal>resource</literal>. Cependant, - la plus part de ces fonctions acceptent aussi des nombres et des chaînes - à partir du moment où on peut les convertir en nombre. Si - une fonction utilisant les entiers est plus rapide, elle sera automatiquement - appelée si les arguments fournis sont des entiers. Cela se fait - de manière transparante : vous pouvez donc utiliser des entiers - avec les fonctions GMP sans perte de vitesse. Voir aussi - <function>gmp_init</function>. - </para> - </note> - <para> - <example> - <title>Factorielle avec GMP</title> - <programlisting role="php"> -<?php -function fact($x) { - if($x <= 1) - return 1; - else - return gmp_mul($x,fact($x-1)); -} -print gmp_strval(fact(1000))."\n"; -?> - </programlisting> - </example> - Cet exemple va calculer factiorielle de 1000 (un plutôt - grand nombre) très vite. - </para> - </partintro> - <refentry id="function.gmp-init"> - <refnamediv> - <refname>gmp_init</refname> - <refpurpose>Crée un nombre GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_init</function></funcdef> - <paramdef>mixed <parameter>number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_init</function> crée un nombre GMP, à partir d'un - entier ou d'une chaîne. Les chaînes peuvent être en - décimal ou en hexadécimal. Dans ce dernier cas, la - chaîne doit commencer par<literal>0x</literal>. - </para> - <para> - <example> - <title>Création d'un nombre GMP</title> - <programlisting role="php"> -<?php - $a = gmp_init(123456); - $b = gmp_init("0xFFFFDEBACDFEDF7200"); -?> - </programlisting> - </example> - </para> - <note> - <para> - Il n'est pas nécessaire d'appeler cette fonction si vous voulez utiliser - des entiers ou des chaînes à la place de nombre GMP dans - les fonctions GMP, comme par exemple <function>gmp_add</function>. Les - arguments de cette fonction sont automatiquement convertis en nombres - GMP, si cette conversion est possible et nécessaire, en utilisant - les mêmes règles que <function>gmp_init</function>. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.gmp-intval"> - <refnamediv> - <refname>gmp_intval</refname> - <refpurpose>Convertit un nombre GMP en entier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_intval</function></funcdef> - <paramdef>resource <parameter>gmpnumber</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_intval</function> convertit un nombre GMP en entier. - <warning> - <simpara> - <function>gmp_intval</function> retourne un résultat cohérent - uniquement si le nombre GMP peut être représenté par un entier - PHP (i.e. type long signé). Si vous vous voulez simplement afficher - un nombre GMP, utilisez plutôt <function>gmp_strval</function>. - </simpara> - </warning> - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-strval"> - <refnamediv> - <refname>gmp_strval</refname> - <refpurpose>Convertit un nombre GMP en chaîne</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>gmp_strval</function></funcdef> - <paramdef>resource <parameter>gmpnumber</parameter></paramdef> - <paramdef>int - <parameter><optional>base</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_strval</function> convertit un nombre GMP en - chaîne de caractères, dans la base <parameter>base</parameter>. - La base par défaut est 10. Les valeurs possibles vont de 2 à 36. - </para> - <para> - <example> - <title>Conversion d'un nombre GMP en chaîne</title> - <programlisting role="php"> -<?php - $a = gmp_init("0x41682179fbf5"); - printf("Décimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36)); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-add"> - <refnamediv> - <refname>gmp_add</refname> - <refpurpose>Addition de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_add</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_add</function> additionne les nombres GMP <parameter>a</parameter> - et <parameter>b</parameter>. Le résultat est un nombre GMP. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sub"> - <refnamediv> - <refname>gmp_sub</refname> - <refpurpose>Soustraction de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_sub</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sub</function> soustrait le nombre GMP <parameter>b</parameter> - de <parameter>a</parameter>. Le résultat est un nombre GMP. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-mul"> - <refnamediv> - <refname>gmp_mul</refname> - <refpurpose>Multiplication de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_mul</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_mul</function> multiplie les nombres GMP <parameter>a</parameter> - et <parameter>b</parameter>. Le résultat est un nombre GMP. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div-q"> - <refnamediv> - <refname>gmp_div_q</refname> - <refpurpose>Divisions de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_div_q</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - <paramdef>int - <parameter><optional>round</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div_q</function> divise le nombre GMP <parameter>b</parameter> - par <parameter>a</parameter>. Le résultat est un entier. L'arrondi - du résultat est défini par <parameter>round</parameter>, qui peut prendre l'une - des valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - <parameter>GMP_ROUND_ZERO</parameter>: Le résultat est tronqué vers 0. - </simpara> - </listitem> - <listitem> - <simpara> - <parameter>GMP_ROUND_PLUSINF</parameter>: Le résultat est tronqué vers - <literal>+infinity</literal> - </simpara> - </listitem> - <listitem> - <simpara> - <parameter>GMP_ROUND_MINUSINF</parameter>: Le résultat est tronqué vers - <literal>-infinity</literal> - </simpara> - </listitem> - </itemizedlist> - </para> - <simpara> - <function>gmp_div_q</function> peut aussi être appelée - <function>gmp_div</function>. - </simpara> - <para> - Voir aussi <function>gmp_div_r</function>, <function>gmp_div_qr</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div-r"> - <refnamediv> - <refname>gmp_div_r</refname> - <refpurpose>Reste de la division de deux nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_div_r</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - <paramdef>int - <parameter><optional>round</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div_r</function> le reste de la division entière - de <parameter>n</parameter> par <parameter>d</parameter>. Le reste - a le même signe que <parameter>n</parameter>, s'il est non nul. - </para> - <para> - Voir <function>gmp_div_q</function> pour une description du parmètre - <parameter>round</parameter>. - </para> - <para> - Voir aussi <function>gmp_div_q</function>, <function>gmp_div_qr</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div-qr"> - <refnamediv> - <refname>gmp_div_qr</refname> - <refpurpose>Divise deux nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>gmp_div_qr</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - <paramdef>int - <parameter><optional>round</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div_qr</function> divise <parameter>n</parameter> par - <parameter>d</parameter> et retourne un tableau, dont le premier élément - est <literal>[n/d]</literal> (le quotient entier de la division) et le - second est <literal>(n - [n/d] * d)</literal> (le reste). - </para> - <para> - Voir <function>gmp_div_q</function> pour une description du parmètre - <parameter>round</parameter>. - </para> - <para> - <example> - <title>Division de nombres GMP</title> - <programlisting role="php"> -<?php - $a = gmp_init("0x41682179fbf5"); - $res = gmp_div_qr($a, "0xDEFE75"); - printf("Le résultat est: q - %s, r - %s", gmp_strval($res[0]), gmp_strval($res[1])); -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>gmp_div_q</function>, <function>gmp_div_r</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div"> - <refnamediv> - <refname>gmp_div</refname> - <refpurpose>Divise deux nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_div</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div</function> est un alias de <function>gmp_div_q</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-mod"> - <refnamediv> - <refname>gmp_mod</refname> - <refpurpose>Modulo GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_mod</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_mod</function> calcule <parameter>n</parameter> modulo - <parameter>d</parameter>. Le résultat est toujours positif ou nul, car - le signe de <parameter>d</parameter> est ignoré. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-divexact"> - <refnamediv> - <refname>gmp_divexact</refname> - <refpurpose>Division exacte de nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_divexact</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_divexact</function> divis <parameter>n</parameter> par - <parameter>d</parameter>, en utilisant les algorithmes de "division - exacte". Cette fonction ne fournit de résultats cohérents que - s'il est su par avance que <parameter>d</parameter> divise - <parameter>n</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-cmp"> - <refnamediv> - <refname>gmp_cmp</refname> - <refpurpose>Compare des nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_cmp</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_cmp</function> retourne une valeur positive si - <literal>a > b</literal>, zéro si <literal>a = b</literal> et négative - si <literal>a < b</literal>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-neg"> - <refnamediv> - <refname>gmp_neg</refname> - <refpurpose>Opposé de nombre GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_neg</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_neg</function> retourne l'opposé de - <function>gmp_neg</function><parameter>a</parameter> - (-1 * <parameter>a</parameter>). - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-abs"> - <refnamediv> - <refname>gmp_abs</refname> - <refpurpose>Valeur absolue GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_abs</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_abs</function> retourne la valeur absolue de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sign"> - <refnamediv> - <refname>gmp_sign</refname> - <refpurpose>Signe du nombre GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_sign</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sign</function> retourne le signe de <parameter>a</parameter> : - 1 si <parameter>a</parameter> est positif et -1 s'il est négatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-fact"> - <refnamediv> - <refname>gmp_fact</refname> - <refpurpose>Factorielle GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_fact</function></funcdef> - <paramdef>int <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_fact</function> calcule la factorielle - de <parameter>a</parameter> : <literal>a!</literal>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sqrt"> - <refnamediv> - <refname>gmp_sqrt</refname> - <refpurpose>Racine carrée GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_sqrt</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sqrt</function> calcule la racine carrée de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sqrtrm"> - <refnamediv> - <refname>gmp_sqrtrm</refname> - <refpurpose>Racine carrée avec reste GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>gmp_sqrtrm</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sqrtrm</function> retourne un tableau dont le - premier élément est la racine carrée entière de - <parameter>a</parameter> (voir aussi <function>gmp_sqrt</function>), et - le second est le reste de (i.e., la différence entre - <parameter>a</parameter> et le carré du premier élément). - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-perfect-square"> - <refnamediv> - <refname>gmp_perfect_square</refname> - <refpurpose>Carré parfait GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>gmp_perfect_square</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_perfect_square</function> retourn &true; si - <parameter>a</parameter> est un carré parfait, et &false; sinon. - </para> - <para> - Voir aussi : <function>gmp_sqrt</function>, <function>gmp_sqrtrm</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-pow"> - <refnamediv> - <refname>gmp_pow</refname> - <refpurpose>Puissance</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_pow</function></funcdef> - <paramdef>resource <parameter>base</parameter></paramdef> - <paramdef>int <parameter>exp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_pow</function> élève - <parameter>base</parameter> à la puissance - <parameter>exp</parameter>. Dans le cas de 0^0, - <function>gmp_pow</function> retourne 1.<parameter>exp</parameter> - ne doit pas être négatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-powm"> - <refnamediv> - <refname>gmp_powm</refname> - <refpurpose>Puissance et modulo</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_powm</function></funcdef> - <paramdef>resource <parameter>base</parameter></paramdef> - <paramdef>resource <parameter>exp</parameter></paramdef> - <paramdef>resource <parameter>mod</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_powm</function> calcule (<parameter>base</parameter> - puissnace <parameter>exp</parameter>) modulo <parameter>mod</parameter>. Si - <parameter>exp</parameter> est négatif, le résultat est - indéfini. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-prob-prime"> - <refnamediv> - <refname>gmp_prob_prime</refname> - <refpurpose>Nombre GMP probablement premier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_prob_prime</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>int <parameter><optional>reps</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Si <function>gmp_prob_prime</function> retourne 0, <parameter>a</parameter> - est défini comme non premier. Si <function>gmp_prob_prime</function> retourne - 1, alors <parameter>a</parameter> est "probablement" premier. - Si <function>gmp_prob_prime</function> retourne 2, alors - <parameter>a</parameter> est sûrement premier. <parameter>reps</parameter> - peut raisonnablement varier de 5 à 10 (par défaut, c'est 10); une valeur - supérieure réduit la probabilité qu'un nombre non premier soit - identifié comme "probablement" premier. - </para> - <para> - <function>gmp_prob_prime</function> utilise le test de probabilité - Miller-Rabin. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-gcd"> - <refnamediv> - <refname>gmp_gcd</refname> - <refpurpose>PGCD</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_gcd</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_gcd</function> calcule de PGCD (plus grand commun - diviseur) de <parameter>a</parameter> et <parameter>b</parameter>. - Le résultat est toujours positif, même si l'un des deux (ou les deux) - nombres est négatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-gcdext"> - <refnamediv> - <refname>gmp_gcdext</refname> - <refpurpose>PGCD étendu</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>gmp_gcdext</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_gcdext</function> calcule les entiers g, s, et t, tels que - <literal>a*s + b*t = g = gcd(a,b)</literal>, où gcd est le pgcd de - <parameter>a</parameter> et <parameter>b</parameter>. La fonction - retourne un tableau avec les éléments g, s et t. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-invert"> - <refnamediv> - <refname>gmp_invert</refname> - <refpurpose>Inverse modulo</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_invert</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_invert</function> calcule l'invers de - <parameter>a</parameter> modulo <parameter>b</parameter>. Retourne &false; si un tel inverse n'existe pas. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-legendre"> - <refnamediv> - <refname>gmp_legendre</refname> - <refpurpose>Symbole de Legendre</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_legendre</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>p</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_legendre</function> calcule le - <ulink url="http://www.utm.edu/research/primes/glossary/LegendreSymbol.html"> - symbole de Legendre</ulink> de <parameter>a</parameter> et - <parameter>p</parameter>. <parameter>p</parameter> doit être positif et - impair. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-jacobi"> - <refnamediv> - <refname>gmp_jacobi</refname> - <refpurpose>Symbole de Jacobi</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_jacobi</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>p</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_jacobi</function> calcule le - <ulink - url="http://www.utm.edu/research/primes/glossary/JacobiSymbol.html"> - symbole de Jacobi</ulink> de <parameter>a</parameter> et - <parameter>p</parameter>. <parameter>p</parameter> doit être positif et - impair. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-random"> - <refnamediv> - <refname>gmp_random</refname> - <refpurpose>Nombre GMP aléatoire</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_random</function></funcdef> - <paramdef>int <parameter>limiter</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_random</function> génère un nombre alétoire. - Ce nombre est limité par <parameter>limiter</parameter>. Si - <parameter>limiter</parameter> est négatif, un nombre négatif est - généré. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-and"> - <refnamediv> - <refname>gmp_and</refname> - <refpurpose>ET logique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_and</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_and</function> calcule le ET logique de - <parameter>a</parameter> et <parameter>b</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-or"> - <refnamediv> - <refname>gmp_or</refname> - <refpurpose>OU logique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_or</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_or</function> calcule le OU logique de - <parameter>a</parameter> et <parameter>b</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-xor"> - <refnamediv> - <refname>gmp_xor</refname> - <refpurpose>OU exclusif logique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_xor</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_or</function> calcule le OU exclusif logique de - <parameter>a</parameter> et <parameter>b</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-setbit"> - <refnamediv> - <refname>gmp_setbit</refname> - <refpurpose>Modifie un bit</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_setbit</function></funcdef> - <paramdef>resource <parameter>&a</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - <paramdef>bool <parameter><optional>set_clear</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_setbit</function> modifie le bit <parameter>index</parameter> - dans <parameter>a</parameter>. <parameter>set_clear</parameter> indique si - le bit est mis à 0 ou 1. Par défaut, il est mis à 1. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-clrbit"> - <refnamediv> - <refname>gmp_clrbit</refname> - <refpurpose>Annule un bit</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_clrbit</function></funcdef> - <paramdef>resource <parameter>&a</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_clrbit</function> met le bit <parameter>index</parameter> - à 0 dans le nombre GMP <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-scan0"> - <refnamediv> - <refname>gmp_scan0</refname> - <refpurpose>Recherche 0</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_scan0</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>int <parameter>start</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_scan0</function> recherche dans <parameter>a</parameter>, - en commencant à la position <parameter>start</parameter>, vers les bits - de poids lourd, jusqu'à ce qu'elle rencontre un bit à 0. Sa position est - alors retournée. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-scan1"> - <refnamediv> - <refname>gmp_scan1</refname> - <refpurpose>Recherche 1</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_scan1</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>int <parameter>start</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_scan1</function> recherche dans <parameter>a</parameter>, - en commencant à la position <parameter>start</parameter>, - vers les bits de poids lourd, jusqu'à ce qu'elle rencontre - un bit à 1. Sa position est alors retournée. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-popcount"> - <refnamediv> - <refname>gmp_popcount</refname> - <refpurpose>Compte de population</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_popcount</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_popcount</function> dénombre la population de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-hamdist"> - <refnamediv> - <refname>gmp_hamdist</refname> - <refpurpose>Distance de Hamming</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_hamdist</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_hamdist</function> retourne la distance de Hamming - entre <parameter>a</parameter> et <parameter>b</parameter>. Les deux - paramètres doivent être strictement positif. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.9 $ --><reference id="ref.gmp"> <title>GMP</title> <titleabbrev>GMP</titleabbrev> <partintro> <simpara> Ces fonctions vous permettent de travailler avec des nombres de taille arbitraire, en utilisant la librairie GNU <acronym>MP</acronym>. Pour pouvoir y accéder, vous devez compiler PHP avec le support <acronym>GMP</acronym> en utilisant l'option <link linkend="install.configure.gmp"><option role="configure">--with-gmp</option></link>. </simpara> <simpara> Vous pouvez télécharger <acronym>GMP</acronym> sur le site de <ulink url="&url.gmp;">&url.gmp;</ulink>. Ce site propose aussi un manuel <acronym>GMP</acronym>. </simpara> <simpara> Vous devez utiliser GMP version 2 ou plus récent pour utiliser ces fonctions. Certaines d'entre elles peuvent requérir une version encore plus récente de GMP. </simpara> <simpara> Ces fonctions ont été ajoutées en PHP 4.0.4. </simpara> <note> <para> La majorité des fonctions GMP acceptent des nombres GMP comme arguments, définis ci-dessous comme <literal>resource</literal>. Cependant, la plupart de ces fonctions acceptent aussi des nombres et des chaînes à partir du moment où on peut les convertir en nombre. Si une fonction utilisant les entiers est plus rapide, elle sera automatiquement appelée si les arguments fournis sont des entiers. Cela se fait de manière transparente : vous pouvez donc utiliser des entiers avec les fonctions GMP sans perte de vitesse. </para> <para> Voir aussi <function>gmp_init</function>. </para> </note> <para> <example> <title>Factorielle avec GMP</title> <programlisting role="php"><?phpfunction fact($x) { if($x <= 1) return 1; else return gmp_mul($x,fact($x-1));}print gmp_strval(fact(1000))."\n";?> </programlisting> </example> Cet exemple va calculer factorielle de 1000 (un plutôt grand nombre) très vite. </para> </partintro> <refentry id="function.gmp-init"> <refnamediv> <refname>gmp_init</refname> <refpurpose>Crée un nombre GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_init</function></funcdef> <paramdef>mixed <parameter>number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_init</function> crée un nombre GMP, à partir d'un entier ou d'une chaîne. Les chaînes peuvent être en décimal ou en hexadécimal. Dans ce dernier cas, la chaîne doit commencer par<literal>0x</literal>. </para> <para> <example> <title>Création d'un nombre GMP</title> <programlisting role="php"><?php $a = gmp_init(123456); $b = gmp_init("0xFFFFDEBACDFEDF7200");?> </programlisting> </example> </para> <warning> <simpara> Si vous devez explicitement spécifier un entier de grande taille, faites le avec une chaîne. Sinon, PHP va interpréter l'entier littéralement, et vous y perdrez en précision avant que les fonctions <literal>GMP</literal> n'entre en jeu. </simpara> </warning> <note> <para> Il n'est pas nécessaire d'appeler <function>gmp_init</function> si vous voulez utiliser des entiers ou des chaînes à la place de nombre GMP dans les fonctions GMP, comme par exemple <function>gmp_add</function>. Les arguments de ces fonctions sont automatiquement convertis en nombres GMP, si cette conversion est possible et nécessaire, en utilisant les mêmes règles que <function>gmp_init</function>. </para> </note> </refsect1> </refentry> <refentry id="function.gmp-intval"> <refnamediv> <refname>gmp_intval</refname> <refpurpose>Convertit un nombre GMP en entier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_intval</function></funcdef> <paramdef>resource <parameter>gmpnumber</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_intval</function> convertit un nombre GMP en entier. <warning> <simpara> <function>gmp_intval</function> retourne un résultat cohérent uniquement si le nombre GMP peut être représenté par un entier PHP (i.e. type long signé). Si vous vous voulez simplement afficher un nombre GMP, utilisez plutôt <function>gmp_strval</function>. </simpara> </warning> </para> </refsect1> </refentry> <refentry id="function.gmp-strval"> <refnamediv> <refname>gmp_strval</refname> <refpurpose>Convertit un nombre GMP en chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>gmp_strval</function></funcdef> <paramdef>resource <parameter>gmpnumber</parameter></paramdef> <paramdef>int <parameter><optional>base</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_strval</function> convertit un nombre GMP en chaîne de caractères, dans la base <parameter>base</parameter>. La base par défaut est 10. Les valeurs possibles vont de 2 à 36. </para> <para> <example> <title>Conversion d'un nombre GMP en chaîne</title> <programlisting role="php"><?php $a = gmp_init("0x41682179fbf5"); printf("Décimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36));?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.gmp-add"> <refnamediv> <refname>gmp_add</refname> <refpurpose>Addition de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_add</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_add</function> additionne les nombres GMP <parameter>a</parameter> et <parameter>b</parameter>. Le résultat est un nombre GMP. </para> </refsect1> </refentry> <refentry id="function.gmp-sub"> <refnamediv> <refname>gmp_sub</refname> <refpurpose>Soustraction de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_sub</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sub</function> soustrait le nombre GMP <parameter>b</parameter> de <parameter>a</parameter>. Le résultat est un nombre GMP. </para> </refsect1> </refentry> <refentry id="function.gmp-mul"> <refnamediv> <refname>gmp_mul</refname> <refpurpose>Multiplication de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_mul</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_mul</function> multiplie les nombres GMP <parameter>a</parameter> et <parameter>b</parameter>. Le résultat est un nombre GMP. </para> </refsect1> </refentry> <refentry id="function.gmp-div-q"> <refnamediv> <refname>gmp_div_q</refname> <refpurpose>Divisions de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_div_q</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> <paramdef>int <parameter><optional>round</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div_q</function> divise le nombre GMP <parameter>b</parameter> par <parameter>a</parameter>. Le résultat est un entier. L'arrondi du résultat est défini par <parameter>round</parameter>, qui peut prendre l'une des valeurs suivantes : <itemizedlist> <listitem> <simpara> <parameter>GMP_ROUND_ZERO</parameter>: Le résultat est tronqué vers 0. </simpara> </listitem> <listitem> <simpara> <parameter>GMP_ROUND_PLUSINF</parameter>: Le résultat est tronqué vers <literal>+infinity</literal> </simpara> </listitem> <listitem> <simpara> <parameter>GMP_ROUND_MINUSINF</parameter>: Le résultat est tronqué vers <literal>-infinity</literal> </simpara> </listitem> </itemizedlist> </para> <simpara> <function>gmp_div_q</function> peut aussi être appelée <function>gmp_div</function>. </simpara> <para> Voir aussi <function>gmp_div_r</function> et <function>gmp_div_qr</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-div-r"> <refnamediv> <refname>gmp_div_r</refname> <refpurpose>Reste de la division de deux nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_div_r</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> <paramdef>int <parameter><optional>round</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div_r</function> le reste de la division entière de <parameter>n</parameter> par <parameter>d</parameter>. Le reste a le même signe que <parameter>n</parameter>, s'il est non nul. </para> <para> Voir <function>gmp_div_q</function> pour une description du paramètre <parameter>round</parameter>. </para> <para> Voir aussi <function>gmp_div_q</function> et <function>gmp_div_qr</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-div-qr"> <refnamediv> <refname>gmp_div_qr</refname> <refpurpose>Divise deux nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>gmp_div_qr</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> <paramdef>int <parameter><optional>round</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div_qr</function> divise <parameter>n</parameter> par <parameter>d</parameter> et retourne un tableau, dont le premier élément est <literal>[n/d]</literal> (le quotient entier de la division) et le second est <literal>(n - [n/d] * d)</literal> (le reste). </para> <para> Voir <function>gmp_div_q</function> pour une description du paramètre <parameter>round</parameter>. </para> <para> <example> <title>Division de nombres GMP</title> <programlisting role="php"><?php $a = gmp_init("0x41682179fbf5"); $res = gmp_div_qr($a, "0xDEFE75"); printf("Le résultat est: q - %s, r - %s", gmp_strval($res[0]), gmp_strval($res[1]));?> </programlisting> </example> </para> <para> Voir aussi <function>gmp_div_q</function> et <function>gmp_div_r</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-div"> <refnamediv> <refname>gmp_div</refname> <refpurpose>Divise deux nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_div</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div</function> est un alias de <function>gmp_div_q</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-mod"> <refnamediv> <refname>gmp_mod</refname> <refpurpose>Modulo GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_mod</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_mod</function> calcule <parameter>n</parameter> modulo <parameter>d</parameter>. Le résultat est toujours positif ou nul, car le signe de <parameter>d</parameter> est ignoré. </para> </refsect1> </refentry> <refentry id="function.gmp-divexact"> <refnamediv> <refname>gmp_divexact</refname> <refpurpose>Division exacte de nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_divexact</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_divexact</function> divis <parameter>n</parameter> par <parameter>d</parameter>, en utilisant les algorithmes de "division exacte". Cette fonction ne fournit de résultats cohérents que s'il est su par avance que <parameter>d</parameter> divise <parameter>n</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-cmp"> <refnamediv> <refname>gmp_cmp</refname> <refpurpose>Compare des nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_cmp</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_cmp</function> retourne une valeur positive si <literal>a > b</literal>, zéro si <literal>a = b</literal> et négative si <literal>a < b</literal>. </para> </refsect1> </refentry> <refentry id="function.gmp-neg"> <refnamediv> <refname>gmp_neg</refname> <refpurpose>Opposé de nombre GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_neg</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_neg</function> retourne l'opposé de <parameter>a</parameter> (-1 * <parameter>a</parameter>). </para> </refsect1> </refentry> <refentry id="function.gmp-abs"> <refnamediv> <refname>gmp_abs</refname> <refpurpose>Valeur absolue GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_abs</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_abs</function> retourne la valeur absolue de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-sign"> <refnamediv> <refname>gmp_sign</refname> <refpurpose>Signe du nombre GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_sign</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sign</function> retourne le signe de <parameter>a</parameter> : 1 si <parameter>a</parameter> est positif et -1 s'il est négatif. </para> </refsect1> </refentry> <refentry id="function.gmp-fact"> <refnamediv> <refname>gmp_fact</refname> <refpurpose>Factorielle GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_fact</function></funcdef> <paramdef>int <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_fact</function> calcule la factorielle de <parameter>a</parameter> : <literal>a!</literal>. </para> </refsect1> </refentry> <refentry id="function.gmp-sqrt"> <refnamediv> <refname>gmp_sqrt</refname> <refpurpose>Racine carrée GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_sqrt</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sqrt</function> calcule la racine carrée de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-sqrtrm"> <refnamediv> <refname>gmp_sqrtrm</refname> <refpurpose>Racine carrée avec reste GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>gmp_sqrtrm</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sqrtrm</function> retourne un tableau dont le premier élément est la racine carrée entière de <parameter>a</parameter> (voir aussi <function>gmp_sqrt</function>), et le second est le reste de (i.e., la différence entre <parameter>a</parameter> et le carré du premier élément). </para> </refsect1> </refentry> <refentry id="function.gmp-perfect-square"> <refnamediv> <refname>gmp_perfect_square</refname> <refpurpose>Carré parfait GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>gmp_perfect_square</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_perfect_square</function> retourn &true; si <parameter>a</parameter> est un carré parfait, et &false; sinon. </para> <para> Voir aussi <function>gmp_sqrt</function> et <function>gmp_sqrtrm</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-pow"> <refnamediv> <refname>gmp_pow</refname> <refpurpose>Puissance</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_pow</function></funcdef> <paramdef>resource <parameter>base</parameter></paramdef> <paramdef>int <parameter>exp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_pow</function> élève <parameter>base</parameter> à la puissance <parameter>exp</parameter>. Dans le cas de 0^0, <function>gmp_pow</function> retourne 1.<parameter>exp</parameter> ne doit pas être négatif. </para> </refsect1> </refentry> <refentry id="function.gmp-powm"> <refnamediv> <refname>gmp_powm</refname> <refpurpose>Puissance et modulo</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_powm</function></funcdef> <paramdef>resource <parameter>base</parameter></paramdef> <paramdef>resource <parameter>exp</parameter></paramdef> <paramdef>resource <parameter>mod</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_powm</function> calcule (<parameter>base</parameter> puissnace <parameter>exp</parameter>) modulo <parameter>mod</parameter>. Si <parameter>exp</parameter> est négatif, le résultat est indéfini. </para> </refsect1> </refentry> <refentry id="function.gmp-prob-prime"> <refnamediv> <refname>gmp_prob_prime</refname> <refpurpose>Nombre GMP probablement premier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_prob_prime</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>int <parameter><optional>reps</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> Si <function>gmp_prob_prime</function> retourne 0, <parameter>a</parameter> est défini comme non premier. Si <function>gmp_prob_prime</function> retourne 1, alors <parameter>a</parameter> est "probablement" premier. Si <function>gmp_prob_prime</function> retourne 2, alors <parameter>a</parameter> est sûrement premier. <parameter>reps</parameter> peut raisonnablement varier de 5 à 10 (par défaut, c'est 10); une valeur supérieure réduit la probabilité qu'un nombre non premier soit identifié comme "probablement" premier. </para> <para> <function>gmp_prob_prime</function> utilise le test de probabilité Miller-Rabin. </para> </refsect1> </refentry> <refentry id="function.gmp-gcd"> <refnamediv> <refname>gmp_gcd</refname> <refpurpose>PGCD</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_gcd</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_gcd</function> calcule de PGCD (plus grand commun diviseur) de <parameter>a</parameter> et <parameter>b</parameter>. Le résultat est toujours positif, même si l'un des deux (ou les deux) nombres est négatif. </para> </refsect1> </refentry> <refentry id="function.gmp-gcdext"> <refnamediv> <refname>gmp_gcdext</refname> <refpurpose>PGCD étendu</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>gmp_gcdext</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_gcdext</function> calcule les entiers g, s, et t, tels que <literal>a*s + b*t = g = gcd(a,b)</literal>, où gcd est le pgcd de <parameter>a</parameter> et <parameter>b</parameter>. La fonction retourne un tableau avec les éléments g, s et t. </para> </refsect1> </refentry> <refentry id="function.gmp-invert"> <refnamediv> <refname>gmp_invert</refname> <refpurpose>Inverse modulo</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_invert</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_invert</function> calcule l'inverse de <parameter>a</parameter> modulo <parameter>b</parameter>. <function>gmp_invert</function> retourne &false; si un tel inverse n'existe pas. </para> </refsect1> </refentry> <refentry id="function.gmp-legendre"> <refnamediv> <refname>gmp_legendre</refname> <refpurpose>Symbole de Legendre</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_legendre</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>p</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_legendre</function> calcule le <ulink url="&url.symbole-legendre;"> symbole de Legendre</ulink> de <parameter>a</parameter> et <parameter>p</parameter>. <parameter>p</parameter> doit être positif et impair. </para> </refsect1> </refentry> <refentry id="function.gmp-jacobi"> <refnamediv> <refname>gmp_jacobi</refname> <refpurpose>Symbole de Jacobi</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_jacobi</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>p</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_jacobi</function> calcule le <ulink url="http://www.utm.edu/research/primes/glossary/JacobiSymbol.html"> symbole de Jacobi</ulink> de <parameter>a</parameter> et <parameter>p</parameter>. <parameter>p</parameter> doit être positif et impair. </para> </refsect1> </refentry> <refentry id="function.gmp-random"> <refnamediv> <refname>gmp_random</refname> <refpurpose>Nombre GMP aléatoire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_random</function></funcdef> <paramdef>int <parameter>limiter</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_random</function> génère un nombre aléatoire. Ce nombre est limité par <parameter>limiter</parameter>. Si <parameter>limiter</parameter> est négatif, un nombre négatif est généré. </para> </refsect1> </refentry> <refentry id="function.gmp-and"> <refnamediv> <refname>gmp_and</refname> <refpurpose>ET logique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_and</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_and</function> calcule le ET logique de <parameter>a</parameter> et <parameter>b</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-or"> <refnamediv> <refname>gmp_or</refname> <refpurpose>OU logique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_or</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_or</function> calcule le OU logique de <parameter>a</parameter> et <parameter>b</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-xor"> <refnamediv> <refname>gmp_xor</refname> <refpurpose>OU exclusif logique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_xor</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_or</function> calcule le OU exclusif logique de <parameter>a</parameter> et <parameter>b</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-setbit"> <refnamediv> <refname>gmp_setbit</refname> <refpurpose>Modifie un bit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_setbit</function></funcdef> <paramdef>resource <parameter>&a</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> <paramdef>boolean <parameter><optional>set_clear</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_setbit</function> modifie le bit <parameter>index</parameter> dans <parameter>a</parameter>. <parameter>set_clear</parameter> indique si le bit est mis à 0 ou 1. Par défaut, il est mis à 1. </para> </refsect1> </refentry> <refentry id="function.gmp-clrbit"> <refnamediv> <refname>gmp_clrbit</refname> <refpurpose>Annule un bit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_clrbit</function></funcdef> <paramdef>resource <parameter>&a</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_clrbit</function> met le bit <parameter>index</parameter> à 0 dans le nombre GMP <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-scan0"> <refnamediv> <refname>gmp_scan0</refname> <refpurpose>Recherche 0</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_scan0</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_scan0</function> recherche dans <parameter>a</parameter>, en commençant à la position <parameter>start</parameter>, vers les bits de poids lourd, jusqu'à ce qu'elle rencontre un bit à 0. Sa position est alors retournée. </para> </refsect1> </refentry> <refentry id="function.gmp-scan1"> <refnamediv> <refname>gmp_scan1</refname> <refpurpose>Recherche 1</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_scan1</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_scan1</function> recherche dans <parameter>a</parameter>, en commençant à la position <parameter>start</parameter>, vers les bits de poids lourd, jusqu'à ce qu'elle rencontre un bit à 1. Sa position est alors retournée. </para> </refsect1> </refentry> <refentry id="function.gmp-popcount"> <refnamediv> <refname>gmp_popcount</refname> <refpurpose>Compte de population</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_popcount</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_popcount</function> dénombre la population de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-hamdist"> <refnamediv> <refname>gmp_hamdist</refname> <refpurpose>Distance de Hamming</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_hamdist</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_hamdist</function> retourne la distance de Hamming entre <parameter>a</parameter> et <parameter>b</parameter>. Les deux paramètres doivent être strictement positifs. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/http.xml diff -u phpdoc/fr/functions/http.xml:1.9 phpdoc/fr/functions/http.xml:1.10 --- phpdoc/fr/functions/http.xml:1.9 Tue Jul 31 02:47:42 2001 +++ phpdoc/fr/functions/http.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.http"> <title>HTTP</title> <titleabbrev>HTTP</titleabbrev> @@ -47,14 +49,32 @@ <informalexample> <programlisting role="php"> <?php - header("Location: http://www.php.net/"); + header("Location: http://www.php.net/"); /* Redirige le client vers le site PHP */ - exit(); -/* Assure que le code ci-dessous n'est jamais exécuté. */ + exit(); +/* Garantit que le code ci-dessous n'est jamais exécuté. */ ?> </programlisting> </informalexample> </para> + <note> + <para> + HTTP/1.1 demande une <acronym>URI</acronym> absolue comme argument + de <ulink url="&spec.http1.1;-sec14.html#sec14.30">Location:</ulink>, + y compris le protocole, hôte et chemin absolu. Mais certains + navigateurs acceptent les URI relatives. Vous pouvez généralement + utiliser les variables globales $HTTP_SERVER_VARS['HTTP_HOST'], + $HTTP_SERVER_VARS['PHP_SELF'] et <function>dirname</function> pour + construire vous-même une URI absolue : + <informalexample> + <programlisting> +header("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST'] + ."/".dirname($HTTP_SERVER_VARS['PHP_SELF']) + ."/".$relative_url); + </programlisting> + </informalexample> + </para> + </note> <para> Le deuxième type d'appel spécial regroupe toutes les en-têtes qui commencent par "HTTP/" (la casse n'est @@ -65,11 +85,23 @@ <informalexample> <programlisting role="php"> <?php - header("http/1.0 404 Not Found"); + header("HTTP/1.0 404 Not Found"); ?> </programlisting> </informalexample> </para> + <note> + <para> + En PHP 3, cela ne fonctionne que si PHP est compilé comme + module Apache. Vous pouvez arriver au même au résultat + en utilisant l'entête <literal>Status</literal>. + <informalexample> + <programlisting role="php"> +header("Status: 404 Not Found"); + </programlisting> + </informalexample> + </para> + </note> <para> Les scripts PHP génèrent souvent du HTML dynamiquement, qui ne doit pas être mis en cache, ni par le client, ni par les @@ -86,6 +118,22 @@ </programlisting> </informalexample> </para> + <note> + <para> + Vous pouvez vous rendre compte que vos pages ne sont jamais mises + en cache même si vous utilisez toutes les entêtes ci-dessus. + Il existe toute une collection de paramètres que les utilisateurs + peuvent modifier sur leur navigateur pour modifier le + comportement par défaut du cache. En envoyant les entêtes + ci-dessus, vous pouvez imposer vos propres valeurs. + </para> + <para> + De plus, les paramètres <function>session_cache_limiter</function> et + <literal>session.cache_limiter</literal> peuvent être utilisé pour + générer les entêtes de caches corrects, lorsque les sessions sont + utilisées. + </para> + </note> <para> N'oubliez jamais que <function>header</function> doit être appelée avant que le moindre contenu ne soit envoyé, soit par des @@ -104,12 +152,54 @@ <?php header("Content-Type: audio/x-pn-realaudio"); ?> + // Erreur : Notez la ligne blanche ci-dessus </programlisting> </informalexample> </para> + <note> <para> - Voir aussi <function>headers_sent</function>. + En PHP 4, vous pouvez utiliser le système de cache (output buffering) + pour contourner ce problème. Tous vos textes générés seront + mis en buffer sur le serveur jusqu'à ce que vous les envoyiez. Vous pouvez + utiliser les fonctions <function>ob_start</function> et + <function>ob_end_flush</function> dans vos scripts, ou en + modifiant la directive de configuration <literal>output_buffering</literal> + dans votre fichier <filename>php.ini</filename> ou vos fichiers + de configuration du serveur. + </para> + </note> + <para> + Si vous voulez que vos utilisateur recoivent une alerte pour sauver + les fichiers générés, comme par exemple si vous générez un + fichier PDF, vous pouvez utiliser l'entête <ulink + url="&url.rfc2183;">Content-Disposition</ulink> pour + fournir un nom de fichier par défaut, à afficher dans le + dialogue de sauvegarde. + <informalexample> + <programlisting role="php"> +<?php +header("Content-type: application/pdf"); +header("Content-Disposition: attachment; filename=downloaded.pdf"); + +/* ... output pdf file ... */ + </programlisting> + </informalexample> + <note> + <para> + Il y a un bug sous Microsoft Internet Explorer 4.01 qui empêche + cet entête de fonctionner. Il n'y a pas d'autre solution. + Il y a aussi un bug dans Microsoft Internet Explorer 5.5 qui + interfère avec ceci, mais qui peut être résolu en utilisant + le Service Pack 2 ou plus récent. + </para> + </note> + </para> + <para> + Voir aussi + <function>headers_sent</function>, + <function>setcookie</function>, et la section sur + <link linkend="features.http-auth">l'authentification HTTP </link>. </para> </refsect1> </refentry> Index: phpdoc/fr/functions/hw.xml diff -u phpdoc/fr/functions/hw.xml:1.9 phpdoc/fr/functions/hw.xml:1.10 --- phpdoc/fr/functions/hw.xml:1.9 Sat Jul 7 18:22:10 2001 +++ phpdoc/fr/functions/hw.xml Mon Nov 12 00:10:20 2001 @@ -1,2042 +1 @@ - <reference id="ref.hyperwave"> - <title>Hyperwave</title> - <titleabbrev>Hyperwave</titleabbrev> - <partintro> - <sect1 id="hw-intro"> - <title>Introduction</title> - <para> - <productname>Hyperwave</productname> a été developpé par - <ulink url="http://www.iicm.edu">IICM</ulink> à Graz. Son nom - original était <acronym>Hyper-G</acronym> et il a pris le nom de - Hyperwave lors de sa commercialisation (en 1996, si mes souvenirs sont bons). - </para> - <para> - Hyperwave n'est pas gratuit. La version actuelle est la 4.1, disponible à - <ulink url="http://www.hyperwave.com/">www.hyperwave.com</ulink>. Une version - limitée à 30 jours peut être demandée. - </para> - <para> - <acronym>HIS</acronym> est un système d'information similaire à - une base de données, (HIS, Hyperwave Information Server). HIS se - concentre sur l'enregistrement et la gestion des documents. Un document peut - être n'importe quelle donnée, qui peut être stockée - dans un fichier. Chaque document est accompagné par un enregistrement. - Cet enregistrement contient des méta données à propos - du document. Ces méta données sont des listes d'attributs qui - peuvent être étendues par l'utilisateur. Un attribut est une paire - clé/valeur de la forme : clé =valeur. L'enregistrement complet - contient autant de paire que le désire l'utilisateur. Le nom d'un - attribut n'a pas besoin d'être unique, c'est à dire qu'une - même clé peut apparaître plusieurs fois dans un - enregistrement. Cela peut être utile si vous devez donner un - titre à votre document en plusieurs langues, par exemple. Dans un - cas pareil, la convention est que chaque valeur de titre est - précédée par deux lettres et deux points, tel que : - 'fr:Titre en français' ou 'ge:Titel in deutsch'. D'autres attributs - comme une description ou des mots clés sont aussi suceptibles de - recourir à ce genre de procédé. Vous pouvez aussi - remplacer l'abréviation de langage par une autre chaîne, - tant qu'elle est séparée de la valeur par les deux points. - </para> - <para> - Chaque enregistrement a une représentation native qui contient toutes - les paires clé/valeur, séparées par un retour à - la ligne. L'extension Hyperwave reconnaît une autre représentation - qui est un tableau associatif, oú les attributs servent de clés. - Les attributs multilingues étant géré sous la forme d'un - autre tableau associatif, dont les clés sont les chaînes de - langue. En fait, tous les attributs multiformes sont gérés - sous la forme de tableau associatif. (Cela n'est pas encore complètement - codé. Uniquement les attributs de titre, description et mot clés - sont traités correctement). - </para> - <para> - En dehors des documents, tous les hyper liens contenus dans un documents sont - enregistrés dans un autre enregistrement. Les hyperliens qui sont - à l'intérieur d'un document en seront supprimés, et - enregistrés dans des objets particuliers, au moment de l'insertion - dans la base de données. L'enregistrement des hyper-liens - contient les informations d'origine et d'objectif. Afin d'accéder - au document original, vous devre lire le document sans les liens, puis lire - les liens, et les réinsérer (les - <function>hw_pipedocument</function> et <function>hw_gettext</function> le - font pour vous. L'avantage de séparer les liens du document est - évident : une fois qu'un document, cible d'un hyperlien, a - été renommé, le liens peut facilement être - modifié. Le document contenant le lien n'est pas modifié - pour autant. Vous pouvez même ajouter un lien à un document sans - le modifier. - </para> - <para> - Dire que <function>hw_pipedocument</function> et <function>hw_gettext</function> - font l'insertion automatiquement n'est pas aussi simple qu'il n'y paraît. - L'insertion implique une certaine hiérarchie de document. Sur un serveur - web, la hiérarchie est fournie par le système de fichiers, mais - Hyperwave dispose de sa propre hiérarchie et les noms de fichiers ne - reflètent pas la position d'un objet dans cette hiérarchie. - Ainsi, la création de liens requière en premier lieu - la construction de la hiérarchie et de l'espace des noms dans - une hiérarchie web et un espace de nom web. La différence - fondamentale entre Hyperwave et le web est qu'il y a une distinction claire - en les noms et la hiérarchie dans Hyperwave. Le nom ne contient aucune - information à propos de la position de l'objet dans la hiérarchie. - Sur le web, le nom contient les informations de localisation dans la - hiérarchie. Cela conduit à deux méthodes de d'accès : - soit la hiérarchie Hyperwave et le nom de l'objet sont inscrit dans - l'URL. Pour simplifier les choses, une deuxième approche est - pratiquée. L'objet Hyperwave de nom 'mon_objet' correspond à - l'URL 'http://hote/mon_objet', peu importe alors oú il est rangé - dans la hiérarchie. Un objet dont le nom est 'parent/mon_objet' peut - être le fils de l'objet 'mon_objet' dans la hiérarchie Hyperwave, - bien que ce soit le contraire en convention web, et cela risque de perturber - l'utilisateur. - </para> - <para> - Ayant pris cette décision, un deuxième problème surgit : - comment faire l'interface avec PHP ? L' URL http://hote/mon_objet n'appelera - aucun script PHP à moins que vous ne demandiez à votre serveur - web de le remplacer par autre chose, comme par exemple : - 'http://host/php3_script/mon_objet' et le script 'php3_script' utilise la - variable $PATH_INFO pour rechercher l'objet 'mon_objet' sur le serveur Hyperwave. - Il y a juste un petit inconvénient , qui peut facilement être - corrigé. Réécrire une URL ne vous permettra aucun - accès aux autres documents du serveur web. Un script de recherche - dans le serveur Hyperwave serait impossible. Il vous faudra donc au moins - une autre règle pour exclure certaines URL, comme par exemple celles - qui commencent par http://host/Hyperwave. Voici de manière simple, - la manière de partager un espace de nom entre un serveur web et un - serveur Hyperwave serveur. - </para> - <para> - Basé sur le mécanisme précédent, on trouve - l'insertion dans les documents. - </para> - <para> - Il est plus compliqué d'avoir PHP ne fonctionne pas comme un module - de serveur, ou un scrip CGI, mais comme une application indépendante. - Dans ce cas, il est utile d'inscrire la hiérarchie et le nom de fichier - Hyperwave dans le système de fichier. Mais comme cela risque d'entrer - en conflit avec le séparateur de dossier ('/'), il faut le remplacer - par un autre caractère,. '_'. - </para> - <para> - Le protocole réseau pour communiquer avec un serveur Hyperwave est - appelé <ulink url="http://www.hyperwave.de/7.17-hg-prot">HG-CSP</ulink> - (Hyper-G Client/Server Protocol). Il est basé sur des messages qui - initie des actions, comme par exemple, lire l'entête de fichier. Dans - les premières versions de Hyperwave Server deux clients natifs - (Harmony, Amadeus) étaient fournis pour permettre la communication - avec le serveur. Ils ont disparu lors de la commercialisation de Hyperwave. - En tant qu'ersatz, un client appelé wavemaster est désormais - fourni. wavemaster est un espèce ce convertisseur de protocole de - <abbrev>HTTP</abbrev> en <abbrev>HG-CSP</abbrev>. L'idée est de faire - toute l'administration de la base et la visualisation des documents par une - interface web. Le wavemaster implémente un jeu d'emplacement pour - certaines actions de personnalisation de l'interface. Ce jeu est appelé - <abbrev>PLACE</abbrev> language. <abbrev>PLACE</abbrev> pêche encore par - le manque de nombreuse fonctions de programmations, et le manque - d'évolutivité. Cela a conduit à l'utilisation de - JavaScript ce qui ne rend pas la vie facile. - </para> - <para> - Que PHP supporte Hyperwave permet de combler ces manques. PHP implémente - tous les messages définis par <abbrev>HG-CSP</abbrev> mais fourni - d'autres commandes puissantes, comme par exemple, celle de lire des documents - complets. - </para> - <para> - Hyperwave dispose de sa propre terminologie pour localiser certaines - informations. Cette terminologie a été largement étendue. - Presque toutes les fonctions utilisent l'un des types de données - suivants : - <itemizedlist> - <listitem> - <simpara> - object ID: un entier, unique pour chaque objet sur le serveur Hyperwave. C'est - aussi un des attributs de l'enregistrement de l'objet (ObjectID).Les object ids - sont souvent utilisées comme paramètre d'entrée pour - spécifier un objet. - </simpara> - </listitem> - <listitem> - <simpara> - object record: Une chaîne contenant des paires clé=valeur. Les - paires sont séparées par un retour à la ligne. Un - enregistrement d'objet peut facilement être converti en tableau, avec - la fonction <function>hw_objrec2array</function>. De nombreuses fonctions - retournent un object records. Ces fonctions ont leur nom qui finit par obj. - </simpara> - </listitem> - <listitem> - <simpara> - object array: Un tableau associatif qui contient tous les attributs d'un objet. - La clé est l'attribut. Si un attribut apparaît plusieurs fois, il - sera représenté sous la forme d'un tableau associatif ou - indexé. Les attributs qui dépendent des langues (comme title, - keyword ou description) seront représentés sous la forme d'un - tableau associatif, dont les clés seront les abréviations de - langues. Tous les autres attributs à valeur multiple prendront la - forme d'un tableau indexé. - </simpara> - </listitem> - <listitem> - <simpara> - hw_document: Ce type est un nouveau type de données, qui contient le - document lui même, comme par exemple HTML, PDF etc. Il est - optimisé pour les documents HTML mais peut s'utiliser avec n'importe - quel format. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - De nombreuses fonctions qui retournent un tableau d'enregistrements, retournent - aussi un tableau associé, avec des informatiosn statistiques. Ce tableau - est le dernier élément du tableau d'enregistrements. Les - statistiques contiennent les entrées suivantes : - <variablelist> - <varlistentry> - <term>Hidden</term> - <listitem> - <simpara> - Nombre d'objets dont l'attribut PresentationHints est Hidden. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>CollectionHead</term> - <listitem> - <simpara> - Nombre d'objet dont l'attribut PresentationHints est CollectionHead. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>FullCollectionHead</term> - <listitem> - <simpara> - Nombre d'objet dont l'attribut PresentationHints est FullCollectionHead. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>CollectionHeadNr</term> - <listitem> - <simpara> - Index du premier objet du tableau d'enregistrement avec l'attribut - PresentationHints à CollectionHead. - </simpara></listitem> - </varlistentry> - <varlistentry> - <term>FullCollectionHeadNr</term> - <listitem> - <simpara> - Index du premier objet du tableau d'enregistrement avec l'attribut - PresentationHints est FullCollectionHead. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>Total</term> - <listitem> - <simpara> - Total: Nombre d'enregistrements. - </simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - </sect1> - <sect1 id="hw-apache"> - <title>Intégration avec Apache</title> - <para> - L'extension Hyperwave est utilisée de manière optimale lorsque - PHP est compilé comme module Apache. Dans ce cas, le serveur Hyperwave - sous jacent peut être caché quasiment totalement aux utilisateurs, - si Apache utilise son moteur d'écriture. Les explications suivantes vous - éclaireront : - </para> - <para> - Etant donné que PHP avec l'extension Hyperwave et Apache tend à - remplacer la solution native basé sur Wavemaster, je vais supposer que - le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas - nécessaire, mais cela simplifie grandment la configuration. Le - concept est très simple. Premièrement, vous avez besoin d'un - script PHP qui évalue la variable <envar>PATH_INFO</envar> et - considère que cette valeur est un objet Hyperwave. Appelons ce script - 'Hyperwave'. L'URL - <systemitem role="url">http://votre.hote/Hyperwave/nom_objet</systemitem> - retourne alors l'objet Hyperwave dont le nom est 'nom_objet'. Le script doit - alors réagir suivant le type de l'objet. Si c'est un groupe, il devra - probablement retourner une liste de fils. Si c'est un document, il pourra - retourner son type MIME et son contenu. Une amélioration peut - être obtenue en utilisant le moteur de réécriture d'Apache. - D'un point de vue utilisateur, il est plus direct si l'URL - <systemitem role="url">http://votre.hote/nom_objet</systemitem> - retourne l'objet. La règle de réécriture est simple : - <informalexample> - <programlisting role="apache-conf"> -RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L] - </programlisting> - </informalexample> - Maintenant toutes les URL pointent sur un objet Hyperwave. Cela conduit à - un problème simple. Il n'y a pas d'autre façon d'exécuter, - c'est à dire rechercher, un autre script que ce script 'Hyperwave'. - Cela pourra être corrigé avec une autre règle telle que: - <informalexample> - <programlisting role="apache-conf"> -RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L] - </programlisting> - </informalexample> - Le dossier <filename class="directory">/usr/local/apache/htdocs/hw</filename> - sera ainsi reservé pour d'autres scripts et fichiers. Assurez vous que - cette règle est évaluée avant la première - règle que nous avons définie. Il y a juste un léger - inconvénient : tous les objets Hyperwave qui commencent par 'hw/' seront - cachés. Alors, assurez vous que vous n'utilisez pas de tels noms. Si vous - avez besoin d'autres dossiers, par exemple, un dossier d'images, ajoutez - simplement d'autres règles. N'oubliez pas de lancer le moteur de - réécriture avec - <informalexample> - <programlisting role="apache-conf"> -RewriteEngine on - </programlisting> - </informalexample> - Mon expérience m'a montré que vous aurez besoin - des scripts suivants : - <itemizedlist> - <listitem> - <simpara> - Retourne l'objet lui même - </simpara> - </listitem> - <listitem> - <simpara> - Pour autoriser la recherche - </simpara> - </listitem> - <listitem> - <simpara> - S'identifier - </simpara> - </listitem> - <listitem> - <simpara> - Choisir une configuration - </simpara> - </listitem> - <listitem> - <simpara> - Un script pour chaque fonction supplémentaire, comme afficher - un objet, afficher des informations sur les utilisateurs, afficher - le statut du serveur, etc... - </simpara> - </listitem> - </itemizedlist> - </para> - </sect1> - <sect1 id="hw-todo"> - <title>A faire</title> - <para> - Il reste encore beaucoup à faire : - <itemizedlist> - <listitem> - <simpara> - La fonction hw_InsertDocument doit être séparée - en deux : <function>hw_insertobject</function> et - <function>hw_putdocument</function>. - </simpara> - </listitem> - <listitem> - <simpara> - Les noms de nombreuses fonctions ne sont pas encore fixés. - </simpara> - </listitem> - <listitem> - <simpara> - La plupart des fonctions requièrent la connexion courante - comme premier paramètre. Cela conduit à beaucoup de frappe - clavier, même si il n'y a souvent qu'une seule connexion en jeu. - Une connexion par défaut améliorerait ceci. - </simpara> - </listitem> - </itemizedlist> - </para> - </sect1> - </partintro> - <refentry id="function.hw-array2objrec"> - <refnamediv> - <refname>hw_Array2Objrec</refname> - <refpurpose>Convertit un tableau en un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_array2objrec</function></funcdef> - <paramdef>array <parameter>object_array</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_array2objrec</function> convertit un - <parameter>object_array</parameter> en un objet. Les attributs multiples - tels que 'Title' en différentes langues seront traités - correctement. - </para> - <para> - Voir aussi <function>hw_objrec2array</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-children"> - <refnamediv> - <refname>hw_Children</refname> - <refpurpose>Liste des object ids des objets fils.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_children</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_children</function> retourne un tableau avec des object ids. - Chaque object id est celui d'un des fils du groupe dont l'id est - <parameter>objectID</parameter>. Ce tableau contient tous les fils, - documents et groupes. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-childrenobj"> - <refnamediv> - <refname>hw_ChildrenObj</refname> - <refpurpose>Liste des object records des objets fils.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_childrenobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_childrenobj</function> retourne un tableau avec des - object records. Chaque object records est celui d'un des fils du groupe - dont l'id est <parameter>objectID</parameter>. - Ce tableau contient tous les fils, documents et groupes - </para> - </refsect1> - </refentry> - <refentry id="function.hw-close"> - <refnamediv> - <refname>hw_Close</refname> - <refpurpose>Ferme la connexion Hyperwave.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_close</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_close</function> retourne &false; si la connexion n'est pas valide, - et sinon, &true;. Ferme la connexion connection à un serveur Hyperwave. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-connect"> - <refnamediv> - <refname>hw_Connect</refname> - <refpurpose>Ouvre une connexion Hyperwave.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_connect</function></funcdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>int <parameter>port</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_connect</function> ouvre une connexion Hyperwave et retourne - un identifiant de connexion, en cas de succès, ou &false;, si la - connexion n'a pas pu être créée. Chaque argument - doit être entouré de guillemets, sauf le numéro de - port. Les arguments <parameter>username</parameter> et - <parameter>password</parameter> sont optionnels, et peuvent être - ignorés. Dans ce cas, aucune identification ne sera faite au niveau - du serveur. Cela revient à s'identifier en tant qu'utilisateur anonyme. - Cette fonction retourne un identifiant de connexion qui sera nécessaire - aux autres fonctions Hyperwave. Vous pouvez avoir plusieurs connexions - simultanées. N'oubliez pas que les mots de passe ne sont pas - cryptés. - </para> - <para> - Voir aussi <function>hw_pconnect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-cp"> - <refnamediv> - <refname>hw_Cp</refname> - <refpurpose>Copie des objets.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_cp</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>array <parameter>object_id_array</parameter></paramdef> - <paramdef>int <parameter>destination_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_cp</function> copie les objets ayant les identifiants - <parameter>object_id_array</parameter>, et crée un groupe - ayant l'object id <parameter>destination_id</parameter>. - </para> - <para> - La valeur retournée est le nombre d'objets copiés. - </para> - <para> - Voir aussi <function>hw_mv</function>.</para> - </refsect1> - </refentry> - <refentry id="function.hw-deleteobject"> - <refnamediv> - <refname>hw_Deleteobject</refname> - <refpurpose>Efface des objets.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_deleteobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>object_to_delete</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_deleteobject</function> efface l'objet dont l'identifiant est - <parameter>object_to_delete</parameter>. Toutes les instances de l'objets - seront effacées. - </para> - <para> - <function>hw_deleteobject</function> retourne &true; - si aucune erreur ne survient, et sinon, &false;. - </para> - <para> - Voir aussi <function>hw_mv</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-docbyanchor"> - <refnamediv> - <refname>hw_DocByAnchor</refname> - <refpurpose>Identifiant d'objet de l'objet dans l'ancrage.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_docbyanchor</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>anchorID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_docbyanchor</function> retourne l'dentifiant d'objet de - l'objet dans l'ancrage <parameter>anchorID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-docbyanchorobj"> - <refnamediv> - <refname>hw_DocByAnchorObj</refname> - <refpurpose>Attributs de l'objet dans l'ancrage.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_docbyanchorobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>anchorID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_docbyanchorobj</function> retourne les attributs du - document qui correspond à <parameter>anchorID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentattributes"> - <refnamediv> - <refname>hw_DocumentAttributes</refname> - <refpurpose>Object record de hw_document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentattributes</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentattributes</function> retourne les attributs du document. - </para> - <para> - Voir aussi <function>hw_documentbodytag</function>, - <function>hw_documentsize</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentbodytag"> - <refnamediv> - <refname>hw_DocumentBodyTag</refname> - <refpurpose>Balise de corps d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentbodytag</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentbodytag</function> retourne la balise BODY du - document.Si le document est un document HTML , la balise BODY doit - être affichée avant le document. - </para> - <para> - Voir aussi <function>hw_documentattributes</function>, - <function>hw_documentsize</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentcontent"> - <refnamediv> - <refname>hw_DocumentContent</refname> - <refpurpose>Contenu d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentcontent</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentcontent</function> retourne la balise BODY du - document.Si le document est un document HTML , la balise BODY doit - être affichée avant le document. - </para> - <para> - Voir aussi <function>hw_documentattributes</function>, - <function>hw_documentsize</function>, - <function>hw_documentsetcontent</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentsetcontent"> - <refnamediv> - <refname>hw_DocumentSetContent</refname> - <refpurpose>Modifie/remplace le contenu d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentsetcontent</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentsetcontent</function> modifie/remplace le contenu - d'un document. Si le document est un document HTML, le contenu - représente tout qui est placé au dela de la balise BODY. - Les informations de HEAD et de la balise BODY sont enregistrés - dans les attributs. Si vous fournissez aussi ces informations dans le - corps du document, le serveur Hyperwave modifiera les attributs. Cela - n'est cependant pas une bonne idée. Si la fonction échoue, - l'ancien contenu est restauré. - </para> - <para> - Voir aussi <function>hw_documentattributes</function>, - <function>hw_documentsize</function>, - <function>hw_documentcontent</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentsize"> - <refnamediv> - <refname>hw_DocumentSize</refname> - <refpurpose>Taille d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_documentsize</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentsize</function> retourne la taille du document - en octets. - </para> - <para> - Voir aussi - <function>hw_documentbodytag</function> et - <function>hw_documentattributes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-errormsg"> - <refnamediv> - <refname>hw_ErrorMsg</refname> - <refpurpose>Retourne un message d'erreur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_errormsg</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_errormsg</function> retourne une chaîne contenant - le dernier message d'erreur, ou 'No Error' (pas d'erreur). Si &false; - est retourné, cette fonction a échoué. Ce message - est relatif à la dernière commande exécutée. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-edittext"> - <refnamediv> - <refname>hw_EditText</refname> - <refpurpose>Retourne un document texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_edittext</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_edittext</function> charge le texte du document sur le - serveur. Les attributs du document ne doivent pas être - modifiés tant que le document est en train d'être - édité. Cette fonction n'est disponible que sur les - documents texte. Elle n'ouvrira pas de canal de transfert, et donc, - bloquera le script durant le transfert. - </para> - <para> - Voir aussi - <function>hw_pipedocument</function>, - <function>hw_free_document</function>, - <function>hw_documentbodytag</function>, - <function>hw_documentsize</function>, - <function>hw_outputdocument</function> et - <function>hw_gettext</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-error"> - <refnamediv> - <refname>hw_Error</refname> - <refpurpose>Retourne le code d'erreur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_error</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_error</function> retourne le code d'erreur de la dernière - erreur. Si la valeur 0 est retournée, c'est qu'il n'y avait pas d'erreur. - L'erreur se rapporte à la dernière commande. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-free-document"> - <refnamediv> - <refname>hw_Free_Document</refname> - <refpurpose>Détruit un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_free_document</function></funcdef> - <paramdef>resource <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_free_document</function> détruit un document Hyperwave. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getparents"> - <refnamediv> - <refname>hw_GetParents</refname> - <refpurpose>Identifiant d'objet des parents.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getparents</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getparents</function> retourne un tableau indexé - avec les identifiants des objets parents de <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getparentsobj"> - <refnamediv> - <refname>hw_GetParentsObj</refname> - <refpurpose>Attributs des parents.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getparentsobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getparentsobj</function> retourne un tableau indexé, - avec les attributs et un tableau associé, d'informations statistiques - à propos des attributs. Ce tableau associé est le dernier - élément du tableau retourné. Chaque attribut - appartient au père de l'objet <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchildcoll"> - <refnamediv> - <refname>hw_GetChildColl</refname> - <refpurpose>Identifiant d'objet des groupes fils.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchildcoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchildcoll</function> retourne un tableau contenant les - identifiants d'objets des groupes fils du groupe - <parameter>objectID</parameter>. Cette fonction ne retournera pas - d'identifiants d'objets des documents fils. - </para> - <para> - Voir aussi <function>hw_getchilddoccoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchildcollobj"> - <refnamediv> - <refname>hw_GetChildCollObj</refname> - <refpurpose>object records d'un groupe d'enfants.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchildcollobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchildcollobj</function> retourne un tableau d'object record. - Chaque object records appartient à un groupe d'enfants de la - collection <parameter>objectID</parameter>. La fonction ne retournera pas - de documents enfants. - </para> - <para> - Voir aussi <function>hw_childrenobj</function>, - <function>hw_getchilddoccollobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getremote"> - <refnamediv> - <refname>hw_GetRemote</refname> - <refpurpose>Retourne un document distant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_getremote</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getremote</function> retourne un document distant. Les documents - distants sont , en Hyperwave, des documents lus depuis une source externe. La - plus part des documents éloignés sont des pages web externes, ou - des requêtes sur une base de données. Afin de pouvoir - accéder à des sources externes, grâce aux documents distants, - Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est - similaire à CGI. Actuellement, seuls les protocoles de FTP, HTTP et - certaines bases de données sont accessibles avec HGI. - <function>hw_getremote</function> retourne le document de la source - distante. Si vous voulez utiliser cette fonction, il vous faut vous - familiariser avec HGIs. Il est aussi préférable d'utiliser - PHP plutôt que Hyperwave pour accéder aux sources externes. - Le support des bases de données sera plus difficile avec Hyperwave - que PHP. - </para> - <para> - Voir aussi <function>hw_getremotechildren</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getremotechildren"> - <refnamediv> - <refname>hw_GetRemoteChildren</refname> - <refpurpose>Retourne les fils d'un document distant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_getremotechildren</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>object record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getremotechildren</function> retourne les fils d'un document - distant. Les fils d'un document distant sont des documents distants eux - mêmes. Cela est cohérent si une requête sur une base - de données doit être rendu plus sélective, comme - expliqué dans Hyperwave Programmers' Guide. Si le nombre de fils - est 1 la fonction va retourner le document lui même, la fonction - retournera le document lui même, formaté Hyperwave Gateway - Interface (HGI). Si le nombre de fils est supérieur 1 la fonction - retournera un tableau d'attributs, qui pourra servir à une nouvelle - requête avec <function>hw_getremotechildren</function>. Ces attributs - sont virtuels et n'existent pas sur le serveur Hyperwave, et ainsi, n'ont pas - d'identifiant d'objet valide. L'ordre exact de ces objets est du ressort de HGI. - Si vous voulez utiliser cette fonction, vous devez être très - familier HGIs. Il vaut mieux PHP plutôt que Hyperwave pour accéder - aux fichiers distants. Le support de base de données y est bien meilleur. - </para> - <para> - Voir aussi <function>hw_getremote</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getsrcbydestobj"> - <refnamediv> - <refname>hw_GetSrcByDestObj</refname> - <refpurpose>Retourne les ancrages qui pointent sur un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getsrcbydestobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getsrcbydestobj</function> retourne les attributs de tous - les ancrages qui pointent sur <parameter>objectID</parameter>. L'objet - peut être un document ou un autre ancrage, de type destination. - </para> - <para> - Voir aussi <function>hw_getanchors</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobject"> - <refnamediv> - <refname>hw_GetObject</refname> - <refpurpose>Attributs d'un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>[int|array] <parameter>objectID</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobject</function> retourne les attributs de l'objet dont - l'identifiant est <parameter>objectID</parameter>, si le second - paramètre est un entier. Si le second paramètre est un - tableau, la fonction retournera un tableau d'attributs. Dans ce cas, - le dernier paramètre est aussi évalué. - </para> - <para> - <parameter>query</parameter> a la syntaxe suivante : - </para> - <simpara> - <expression> ::= "(" <expression> ")" | - </simpara> - <simpara> - "!" <expression> | /* NOT */ - </simpara> - <simpara> - <expression> "||" <expression> | /* OR */ - </simpara> - <simpara> - <expression> "&&" <expression> | /* AND */ - </simpara> - <simpara> - <attribute> <operator> <value> - </simpara> - <simpara> - <attribute> ::= /* * n'importe quel attribut (Title, Author, DocumentType ...) */ - </simpara> - <simpara> - <operator> ::= "=" | /* égal */ - </simpara> - <simpara> - "<" | /* moins que (comparaison de type chaîne) */ - </simpara> - <simpara> - ">" | /* plus que (comparaison de type chaîne) */ - </simpara> - <simpara> - "~" /* recherche par expression régulière */ - </simpara> - <simpara> - </simpara> - <para> - <parameter>query</parameter> permet de sélectionner une nouvelle fois - certains objets dans la liste des objets donnés. Contrairement aux - autres requêtes, celle ci peut utiliser des attributs non indexés. - Le nombre d'attributs retourné dépend de la requête de la - requête, et des autorisations d'accès aux objets. - </para> - <para> - Voir aussi <function>hw_getandlock</function>, - <function>hw_getobjectbyquery</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getandlock"> - <refnamediv> - <refname>hw_GetAndLock</refname> - <refpurpose>Retourne les attributs, et verrouille l'objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_getandlock</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getandlock</function> retourne les attributs, et verrouille - l'objet <parameter>objectID</parameter>. Le verrouillage empêchera - les autres utilisateurs d'y accéder, jusqu'à ce qu'il soit - deverrouillé. - </para> - <para> - Voir aussi <function>hw_unlock</function>, - <function>hw_getobject</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-gettext"> - <refnamediv> - <refname>hw_GetText</refname> - <refpurpose>Retourne un document texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_gettext</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>mixed - <parameter> - <optional>rootID/prefix</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_gettext</function> retourne le document de l'objet - <parameter>objectID</parameter>. Si le document possède des ancrages - qui peuvent être insérés, ils seront déjà - insérés. L'option rootID/prefix peut être une - chaîne ou un entier. Si c'est un entier, il détermine la - méthode d'insertion des liens dans le document. Par défaut, - il vaut 0 et les liens seront construits en fonction du nom de l'objet cible. - Cela sert beaucoup dans les applications web. Si un lien pointe sur un objet - avec le nom 'film_internet' le lien HTML sera <A HREF="/internet_movie">. - La position réelle de la source et de la cible dans la hiérarchie - seront ignorés. Vous devrez modificer votre site web pour qu'il - réécrive les URL, comme par exemple - '/mon_script.php3/film_internet'. 'mon_script.php3' devra analyser - $PATH_INFO et savoir recherche le document '/mon_script.php3/film_internet'. - Si vous ne voulez pas de ce comportement, vous pouvez affecter à - rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une chaîne. - </para> - <para> - Si <parameter>rootID/prefix</parameter> est un entier différent de 0 - le lien sera construit avec tous les noms de la hiérarchie, en - commencant à l'objet d'identifiant rootID/prefix, et séparé - par des slash. Si, par exemple, le document 'film_internet' est situé - à 'a-b-c-internet_movie' et '-' qui sert de séparateur - hiérarchique de niveau sur le serveur Hyperwave et le document - source est situé dans 'a-b-d-source' alors, le lien HTML serait: - <A HREF="../c/internet_movie">. Cela est très pratique si vous - voulez télécharger tout le contenu d'un serveur sur un disque, - et faire une carte du système sur votre disque. - </para> - <para> - <function>hw_gettext</function> n'est opérationnelle qu'avec des - documents de pur texte. Elle n'ouvrira pas de canal spécial de - transfert, et ainsi, bloquera le script le temps du transfert. - </para> - <para> - Voir aussi <function>hw_pipedocument</function>, - <function>hw_free_document</function>, - <function>hw_documentbodytag</function>, - <function>hw_documentsize</function>, - <function>hw_outputdocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyquery"> - <refnamediv> - <refname>hw_GetObjectByQuery</refname> - <refpurpose>Recherche un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyquery</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyquery</function> recherche un objet sur tout le serveur - et retourne un tableau d' object ids. Le nombre maximum d'objet est limité - par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 - il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyqueryobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyqueryobj"> - <refnamediv> - <refname>hw_GetObjectByQueryObj</refname> - <refpurpose>Recherche un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyqueryobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyqueryobj</function> recherche un objet sur tout le - serveur et retourne un tableau d' object records. Le nombre maximum d'objet - est limité par <parameter>max_hits</parameter>. Si - <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyquery</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyquerycoll"> - <refnamediv> - <refname>hw_GetObjectByQueryColl</refname> - <refpurpose>Recherche un objet dans un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyquerycoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyquerycoll</function> recherche un objet sur tout - le groupe objectID et retourne un tableau d' object records. Le nombre - maximum d'objet est limité par <parameter>objectID</parameter>. Si - <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyquerycollobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyquerycollobj"> - <refnamediv> - <refname>hw_GetObjectByQueryCollObj</refname> - <refpurpose>Recherche un objet dans un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyquerycollobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyquerycollobj</function> recherche un objet sur tout - le groupe objectID et retourne un tableau d' object records. Le nombre maximum - d'objet est limité par <parameter>objectID</parameter>. Si - <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyquerycoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchilddoccoll"> - <refnamediv> - <refname>hw_GetChildDocColl</refname> - <refpurpose>ids des documents fils d'un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchilddoccoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchilddoccoll</function> retourne un tableau avec les id - des documents fils d'une collection. - </para> - <para> - Voir aussi <function>hw_getchildcoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchilddoccollobj"> - <refnamediv> - <refname>hw_GetChildDocCollObj</refname> - <refpurpose>Attributs des documents fils d'un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchilddoccollobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchilddoccollobj</function> retourne un tableau contenant - les attributs des documents fils du groupe <parameter>objectID</parameter>. - </para> - <para> - Voir aussi <function>hw_childrenobj</function>, - <function>hw_getchildcollobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getanchors"> - <refnamediv> - <refname>hw_GetAnchors</refname> - <refpurpose>Identifiants des ancrages d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getanchors</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getanchors</function> retourne un tableau contenant les - identifiants des ancrages du document <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getanchorsobj"> - <refnamediv> - <refname>hw_GetAnchorsObj</refname> - <refpurpose>Attributs des ancrages d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getanchorsobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getanchorsobj</function> retourne un tableau d'attributs - des ancrages du document <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-mv"> - <refnamediv> - <refname>hw_Mv</refname> - <refpurpose>Déplace un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_mv</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>array <parameter>object id array</parameter></paramdef> - <paramdef>int <parameter>source id</parameter></paramdef> - <paramdef>int <parameter>destination id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_mv</function> déplaces les objets dont les identifiants - sont passés dans le tableau <parameter>source id</parameter>, depuis - le <parameter>source id</parameter> dans le - <parameter>destination id</parameter>. Si destination id vaut 0, les objets - ne seront plus insérés dans le groupe (ni dans le serveur). - Dans ce cas, si une instance était la dernière instance d'un - objet, l'objet sera effacé. Si vous voulez effacer toutes les instances - d'un coup, utilisez <function>hw_deleteobject</function>. - </para> - <para> - La valeur retournée est le nombre d'objet déplacés. - </para> - <para> - Voir aussi <function>hw_cp</function>, - <function>hw_deleteobject</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-identify"> - <refnamediv> - <refname>hw_Identify</refname> - <refpurpose>Identifie un utilisateur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_identify</function></funcdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_identify</function> identifie un utilisateur, dont le nom - d'utilisateur est <parameter>username</parameter> et le mot de passe - <parameter>password</parameter>. L'identification n'est valide - que pour la session en cours. Je ne pense pas que cette fonction serve - souvent. Dans la plus part des cas, il est plus simple de s'identifier lors - de l'ouverture de la connexion. - </para> - <para> - Voir aussi <function>hw_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-incollections"> - <refnamediv> - <refname>hw_InCollections</refname> - <refpurpose> - Vérifie qu'un identifiant d'objet est dans un groupe. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_incollections</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>array <parameter>object_id_array</parameter></paramdef> - <paramdef>array <parameter>collection_id_array</parameter></paramdef> - <paramdef>int <parameter>return_collections</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_incollections</function> vérifie qu'un ensemble d'objets - (documents ou groupes) donnés par <parameter>object_id_array</parameter> - fait partie des groupe listés par <parameter>object_id_array</parameter>. - Lorsque le quatrième paramètre - <parameter>return_collections</parameter> vaut 0, le sous ensemble - d'identifiants qui font partie d'un groupe (i.e. les documents ou groupes - qui sont fils d'un ou plusieurs groupe, ou leurs fils, récurusivement) - est retourné sous la forme d'un tableau. Cette option permet de mettre - en valeur la partie de l'arborescence qui contient le résultat d'une - requête, dans un sens graphique. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-info"> - <refnamediv> - <refname>hw_Info</refname> - <refpurpose>Informations à propos d'une connexion.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_info</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_info</function> retourne les informations de la connexion - courante. La chaîne retournée a le format suivant : - <Serverstring>, <Host>, <Port>, <Username>, - <Port of Client>, <Byte swapping> - </para> - </refsect1> - </refentry> - <refentry id="function.hw-inscoll"> - <refnamediv> - <refname>hw_InsColl</refname> - <refpurpose>Insère un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_inscoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>array <parameter>object_array</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_inscoll</function> insère un nouveau groupe, avec - les attributs <parameter>object_array</parameter> dans le groupe - <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-insdoc"> - <refnamediv> - <refname>hw_InsDoc</refname> - <refpurpose>Insère un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_insdoc</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>parentID</parameter></paramdef> - <paramdef>string <parameter>object_record</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_insdoc</function> insère un nouveau document avec - les attributs <parameter>object_record</parameter>, dans le groupe - <parameter>parentID</parameter>. Cette fonction insère soit un objet - avec ses seuls attributs, soit pur objet ascii, avec - <parameter>text</parameter> si il est fourni. Si vous voulez insérer - un document de type général, utilisez plutôt - <function>hw_insertdocument</function>. - </para> - <para> - Voir aussi <function>hw_insertdocument</function>, - <function>hw_inscoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-insertdocument"> - <refnamediv> - <refname>hw_InsertDocument</refname> - <refpurpose>Insère un document dans un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_insertdocument</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>parent_id</parameter></paramdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_insertdocument</function> insère un document dans le - groupe <parameter>parent_id</parameter>. Le document doit avoir - été créé auparavant avec - <function>hw_new_document</function>. Assurez vous que les attributs du - nouveau document contiennent au moins les attributs suivants : - Type, DocumentType, Title et Name. Vous aurez aussi parfois besoin de - MimeType. La fonction retourne l'identifiant de l'objet inséré, - ou bien &false;. - </para> - <para> - Voir aussi <function>hw_pipedocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-insertobject"> - <refnamediv> - <refname>hw_InsertObject</refname> - <refpurpose>Insère un object record.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_insertobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>object rec</parameter></paramdef> - <paramdef>string <parameter>parameter</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_insertobject</function> insère un objet dans - le serveur. L'objet peut être n'importe quel objet Hyperwave - valide. Reportez vous à la documentation HG-CSP pour plus - de détails sur les paramètres. - </para> - <para> - Note: Si vous voulez insérer un ancre, l'attribut Position - doit être mis à la valeur start/end (début ou - fin) ou encore 'invisible'. Les positions invisibles sont nécessaire - si l'annotation n'a pas de liens correspondant dans le texte de - l'annotation. - </para> - <para> - Voir aussi - <function>hw_pipedocument</function>, - <function>hw_insertdocument</function>, - <function>hw_insdoc</function> et - <function>hw_inscoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-mapid"> - <refnamediv> - <refname>hw_mapid</refname> - <refpurpose>Représente un id globale en un id virtuel local.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_mapid</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>server id</parameter></paramdef> - <paramdef>int <parameter>object id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_mapid</function> représente l'id d'un objet global de n'importe - quel serveur Hyperwave, même si vous ne vous y êtes pas - connecté avec <function>hw_connect</function>, avec un id d'objet - local virtuel. Cet id d'objet local peut alors être utilisé - comme n'importe quel id d'objet : par exemple on peut obtenir l'enregistrement - d'objet avec la fonction <function>hw_getobject</function>. L'id du serveur - est la première partie de l'id global (GOid) de l'objet, qui est en - fait une adresse IP. - </para> - <para> - Note: Afin d'utiliser cette fonction, vous devez lever le flag F_DISTRIBUTED, - ce qui ne peut être fait qu'à la compilation. Par défaut, - il n'est pas levé. Lisez les commentaires dans le fichier hg_comm.c - </para> - </refsect1> - </refentry> - <refentry id="function.hw-modifyobject"> - <refnamediv> - <refname>hw_Modifyobject</refname> - <refpurpose>Modifie les attributs d'objet record.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_modifyobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>object_to_change</parameter></paramdef> - <paramdef>array <parameter>remove</parameter></paramdef> - <paramdef>array <parameter>add</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_modifyobject</function> permet d'effacer, d'ajouter ou de - modifier les attributs d'un objet. L'objet est reperé par son - identifiant <parameter>object_to_change</parameter>. Le premier tableau, - <parameter>remove</parameter>, est la liste des attributs à effacer. - Le deuxième tableau <parameter>add</parameter> est la liste des - attributs à ajouter. Afin de modifier un attribut, il vous faudra - dont l'effacer, puis l'ajouter à nouveau. - <function>hw_modifyobject</function> effacera toujours les attributs avant - de les ajouter, à moins que la valeur de l'attribut à effacer - ne soit pas une chaîne, ou un tableau. - </para> - <para> - Le dernier paramètre détermine si la modification est - récursive ou pas. 1 signigie que la modification est récursive. - Si un objet ne peut pas être modifié, il sera ignoré. - <function>hw_error</function> n'indiquera alors pas toujours d'erreur, - même si certains objets n'ont pas pu être modifié. - </para> - <para> - Les clés des deux tableaux sont les noms des attributs. La valeurs - de chaque élément peut être un tableau, ou une chaîne - ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut - est construite en séparant chaque élément par un - point virgule. Dans le cas de la chaîne, elle sert directement de - valeur. Une chaîne vide provoquera un effacement de l'attribut. - Dans le cas oú la valeur n'est ni un tableau, ni une chaîne, - aucune opération ne sera effectuée. Cela est nécessaire - si vous voulez ajouter un attribut complètement une nouvelle valeur pour - un attribut existant. Si le tableau d'effacement contenait une chaîne - vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui - échouerai de toute manière, car cet attribut n'existe pas. - L'ajout de cet attribut échouerai aussi. Affecter la valeur de 0 - à cet attribut ne l'effacerait pas, et l'ajout fonctionnerait. - </para> - <para> - Si vous voulez changer l'attribut 'Nom' de valeur courante 'livres' en - 'articles' vous devrez faire deux tableaux, et appeler - <function>hw_modifyobject</function>. - <example> - <title>Modification d'un attribut</title> - <programlisting role="php"> -<?php - // $connect est une connexion valide - // $objid est l'identifiant de l'objet - $remarr = array("Name" => "books"); - $addarr = array("Name" => "articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - Afin d'effacer/ajouter une paire nom=valeur aux attributs d'un objet, - utilisez simplement les tableaux d'effacement et d'ajout, et laissez - le dernier/troisième paramètre vide. Si l'attribut est - le premier de ce nom à ajouter, donnez une valeur entière - à cet élément. - <example> - <title>Ajouter un nouvel attribut</title> - <programlisting role="php"> -<?php - // $connect st une connexion Hyperwave valide - // $objid est l'identifiant de l'objet à modifier - $remarr = array("Name" => 0); - $addarr = array("Name" => "articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - </para> - <para> - <note> - <simpara> - Les attributs multilingues, (tels que 'Title'), peuvent être - modifiés de deux manières : soit en fournissant la - valeur de ces attributs de manière native (langue :valeur), - soit en fournissant un tableau avec les éléments de - chaque langue, comme décrit ci-dessus. L'exemple deviendrai - alors : - </simpara> - </note> - <example> - <title>Modifier l'attribut de Titre (Title)</title> - <programlisting role="php"> -<?php - $remarr = array("Title" => "en:Books"); - $addarr = array("Title" => "en:Articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - ou - <example> - <title>Modifier l'attribut Title</title> - <programlisting role="php"> -<?php - $remarr = array("Title" => array("en" => "Books")); - $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel")); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - Pour supprimer l'entrée française 'Livres' et ajouter - l'entrée 'Articles' et l'entrée allemande 'Artikel'. - <example> - <title>Suppression d'un attribut</title> - <programlisting role="php"> -<?php - $remarr = array("Title" => ""); - $addarr = array("Title" => "en:Articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - <note> - <simpara> - Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter - un nouvel attribut 'Title'. Cela peut être pratique pour effacer des - attributs récursivement. - </simpara> - </note> - <note> - <simpara> - Si vous devez effacer tous les attributs avec un certains nom, vous devez - passer une chaîne vide comme valeur. - </simpara> - </note> - <note> - <simpara> - Seuls les attributs 'Title', 'Description' et 'Keyword' gère - correctement le préfixe de langue. Pour les autres attributs qui - ne portent pas de préfixe de language, le préfixe 'xx' sera - assigné. - </simpara> - </note> - <note> - <simpara> - L'attribut 'Name' est un peu particuluer. Dans certains cas, il ne peut pas - être complétement effacé. Vous aurez alors le message - 'Change of base attribute' (l'apparition de cette erreur n'est pas très - claire). Ainsi, vous aurez à ajouter une nouvelle entrée pour - Name puis, effacer l'ancien. - </simpara> - </note> - <note> - <simpara> - Il ne faut pas encadrer cette fonction par des appels à - <function>hw_getandlock</function> et <function>hw_unlock</function>. - <function>hw_modifyobject</function> le fait de manière interne. - </simpara> - </note> - </para> - <para> - Retourne &true; si aucune erreur ne survient, et &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-new-document"> - <refnamediv> - <refname>hw_New_Document</refname> - <refpurpose>Crée un nouveau document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_new_document</function></funcdef> - <paramdef>string <parameter>object_record</parameter></paramdef> - <paramdef>string <parameter>document_data</parameter></paramdef> - <paramdef>int <parameter>document_size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_new_document</function> retourne un nouveau document Hyperwave - avec comme données <parameter>document_data</parameter> et comme - attributs <parameter>object_record</parameter>. La longueur de - <parameter>document_data</parameter> doit être données dans - <parameter>document_size</parameter>. Cette fonction n'insère pas - l'objet dans le serveur Hyperwave. - </para> - <para> - Voir aussi <function>hw_free_document</function>, - <function>hw_documentsize</function>, - <function>hw_documentbodytag</function>, - <function>hw_outputdocument</function>, - <function>hw_insertdocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-objrec2array"> - <refnamediv> - <refname>hw_Objrec2Array</refname> - <refpurpose>Convertit les attributs d'un objet en tableau.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_objrec2array</function></funcdef> - <paramdef>string <parameter>object_record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_objrec2array</function> convertit les attributs - <parameter>object_record</parameter> d'un objet en un tableau. Les - clés du tableau seront les noms des attributs. Les attributs - multiples comme par exemple 'Title', dans différentes langues, - seront rassemblées dans un autre tableau. Une clé est la - partie gauche d'un attribut. Actuellement, seuls les attributs 'Title', - 'Description' et 'Keyword' sont traités correctement. - </para> - <para> - Voir aussi <function>hw_array2objrec</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-outputdocument"> - <refnamediv> - <refname>hw_OutputDocument</refname> - <refpurpose>Affiche hw_document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_outputdocument</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_outputdocument</function> affiche - <parameter>hw_document</parameter> sans la balise BODY. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-pconnect"> - <refnamediv> - <refname>hw_pConnect</refname> - <refpurpose>Crée une connexion persistante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_pconnect</function></funcdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>int <parameter>port</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_pconnect</function> retourne un index de connexion en cas de - succès, et &false; si la connexion n'a pas - pu être créée. - <function>hw_pconnect</function> ouvre une connexion persistante à - un serveur Hyperwave. Tous les - arguments doivent être entre guillemets, hormis le numéro - de port <parameter>port</parameter>. Les arguments <parameter>username</parameter> et - <parameter>password</parameter> sont optionnels, et peuvent être - ignorés. Dans ce cas, aucune authentification ne sera faite, - (connexion anonyme). Cette fonction retourne un index de connexion qui - sera utilisée par les autres fonctions Hyperwave. Vous pouvez - ouvrir plusieurs connexions simultanées. - </para> - <para> - Voir aussi <function>hw_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-pipedocument"> - <refnamediv> - <refname>hw_PipeDocument</refname> - <refpurpose>Retourne un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_pipedocument</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_pipedocument</function> retourne le document Hyperwave d'objet - id <parameter>objectID</parameter>. Si le document a des ancrages, ils seront - insérés. Le document sera transmis via une connexion de - données spéciale, qui ne bloque pas la connexion de - contrôle (ie, le serveur n'attends pas la fin du transfert pour - rendre la main). - </para> - <para> - Voir aussi - <function>hw_gettext</function> (insertions), - <function>hw_free_document</function>, - <function>hw_documentsize</function>, - <function>hw_documentbodytag</function> et - <function>hw_outputdocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-root"> - <refnamediv> - <refname>hw_Root</refname> - <refpurpose>Object id de la racine.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_root</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_root</function> retourne l' object id de la racine. - Actuellement, cette identifiant est toujours 0. L'ensemble des fils - de la racine est celui du serveur courant. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-unlock"> - <refnamediv> - <refname>hw_Unlock</refname> - <refpurpose>Déverrouille un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_unlock</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_unlock</function> déverrouille un document, et laisse - l'accès aux autres utilisateurs. - </para> - <para> - Voir aussi <function>hw_getandlock</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-who"> - <refnamediv> - <refname>hw_Who</refname> - <refpurpose>Liste des utilisateurs actuellement identifiés.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_who</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_who</function> retourne un tableau contenant la liste des - utilisateurs actuellement connectés au serveur Hyperwave. Chaque - élément du tableau est lui même un tableau, qui contient - l'identifiant de l'élément, le nom, le système, la date - de connexion (onSinceDate), l'heure de connexion (onSinceTime), la - durée de connexion (TotalTime ) et self. 'self' contient - l'élément est l'utilisateur qui a appelé la fonction. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getusername"> - <refnamediv> - <refname>hw_Username</refname> - <refpurpose>Nom de l'utilisateur actuellement identifié.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_getusername</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getusername</function> retourne le nom d'utilisateur - utilisé par la connexion. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><reference id="ref.hyperwave"> <title>Hyperwave</title> <titleabbrev>Hyperwave</titleabbrev> <partintro> <sect1 id="hw-intro"> <title>Introduction</title> <para> <productname>Hyperwave</productname> a été développé par <ulink url="&url.iicm;">IICM</ulink> à Graz. Son nom original était <acronym>Hyper-G</acronym> et il a pris le nom de Hyperwave lors de sa commercialisation (en 1996, si mes souvenirs sont bons). </para> <para> Hyperwave n'est pas gratuit. La version actuelle est la 4.1, disponible à <ulink url="&url.hyperwave;">&url.hyperwave;</ulink>. Une version limitée à 30 jours peut être demandée. </para> <para> <acronym>HIS</acronym> est un système d'information similaire à une base de données, (HIS, Hyperwave Information Server). HIS se concentre sur l'enregistrement et la gestion des documents. Un document peut être n'importe quelle donnée, qui peut être stockée dans un fichier. Chaque document est accompagné par un enregistrement. Cet enregistrement contient des méta données à propos du document. Ces méta données sont des listes d'attributs qui peuvent être étendues par l'utilisateur. Un attribut est une paire clé/valeur de la forme : clé =valeur. L'enregistrement complet contient autant de paire que le désire l'utilisateur. Le nom d'un attribut n'a pas besoin d'être unique, c'est-à-dire qu'une même clé peut apparaître plusieurs fois dans un enregistrement. Cela peut être utile si vous devez donner un titre à votre document en plusieurs langues, par exemple. Dans un cas pareil, la convention est que chaque valeur de titre est précédée par deux lettres et deux points, tel que : 'fr:Titre en français' ou 'ge:Titel in deutsch'. D'autres attributs comme une description ou des mots clés sont aussi susceptibles de recourir à ce genre de procédé. Vous pouvez aussi remplacer l'abréviation de langage par une autre chaîne, tant qu'elle est séparée de la valeur par les deux points. </para> <para> Chaque enregistrement a une représentation native qui contient toutes les paires clé/valeur, séparées par un retour à la ligne. L'extension Hyperwave reconnaît une autre représentation qui est un tableau associatif, où les attributs servent de clés. Les attributs multilingues étant géré sous la forme d'un autre tableau associatif, dont les clés sont les chaînes de langue. En fait, tous les attributs multiformes sont gérés sous la forme de tableau associatif. (Cela n'est pas encore complètement codé. Uniquement les attributs de titre, description et mot clés sont traités correctement). </para> <para> En dehors des documents, tous les hyper liens contenus dans un documents sont enregistrés dans un autre enregistrement. Les hyperliens qui sont à l'intérieur d'un document en seront supprimés, et enregistrés dans des objets particuliers, au moment de l'insertion dans la base de données. L'enregistrement des hyper-liens contient les informations d'origine et d'objectif. Afin d'accéder au document original, vous devrez lire le document sans les liens, puis lire les liens, et les réinsérer (les <function>hw_pipedocument</function> et <function>hw_gettext</function> le font pour vous. L'avantage de séparer les liens du document est évident : une fois qu'un document, cible d'un hyperlien, a été renommé, le liens peut facilement être modifié. Le document contenant le lien n'est pas modifié pour autant. Vous pouvez même ajouter un lien à un document sans le modifier. </para> <para> Dire que <function>hw_pipedocument</function> et <function>hw_gettext</function> font l'insertion automatiquement n'est pas aussi simple qu'il n'y paraît. L'insertion implique une certaine hiérarchie de documents. Sur un serveur web, la hiérarchie est fournie par le système de fichiers, mais Hyperwave dispose de sa propre hiérarchie et les noms de fichiers ne reflètent pas la position d'un objet dans cette hiérarchie. Ainsi, la création de liens requiert en premier lieu la construction de la hiérarchie et de l'espace des noms dans une hiérarchie web et un espace de nom web. La différence fondamentale entre Hyperwave et le web est qu'il y a une distinction claire en les noms et la hiérarchie dans Hyperwave. Le nom ne contient aucune information à propos de la position de l'objet dans la hiérarchie. Sur le web, le nom contient les informations de localisation dans la hiérarchie. Cela conduit à deux méthodes de d'accès : soit la hiérarchie Hyperwave et le nom de l'objet sont inscrits dans l'URL. Pour simplifier les choses, une deuxième approche est pratiquée. L'objet Hyperwave de nom 'mon_objet' correspond à l'URL 'http://hote/mon_objet', peu importe alors où il est rangé dans la hiérarchie. Un objet dont le nom est 'parent/mon_objet' peut être le fils de l'objet 'mon_objet' dans la hiérarchie Hyperwave, bien que ce soit le contraire en convention web, et cela risque de perturber l'utilisateur. </para> <para> Ayant pris cette décision, un deuxième problème surgit : comment faire l'interface avec PHP ? L'URL http://hote/mon_objet n'appellera aucun script PHP à moins que vous ne demandiez à votre serveur web de le remplacer par autre chose, comme par exemple : 'http://host/php3_script/mon_objet' et le script 'php3_script' utilise la variable $PATH_INFO pour rechercher l'objet 'mon_objet' sur le serveur Hyperwave. Il y a juste un petit inconvénient , qui peut facilement être corrigé. Réécrire une URL ne vous permettra aucun accès aux autres documents du serveur web. Un script de recherche dans le serveur Hyperwave serait impossible. Il vous faudra donc au moins une autre règle pour exclure certaines URL, comme par exemple celles qui commencent par http://host/Hyperwave. Voici, de manière simple, la manière de partager un espace de nom entre un serveur web et un serveur Hyperwave serveur. </para> <para> Basé sur le mécanisme précédent, on trouve l'insertion dans les documents. </para> <para> Il est plus compliqué d'avoir PHP ne fonctionne pas comme un module de serveur, ou un script CGI, mais comme une application indépendante. Dans ce cas, il est utile d'inscrire la hiérarchie et le nom de fichier Hyperwave dans le système de fichier. Mais comme cela risque d'entrer en conflit avec le séparateur de dossier ('/'), il faut le remplacer par un autre caractère,. '_'. </para> <para> Le protocole réseau pour communiquer avec un serveur Hyperwave est appelé <ulink url="&spec.hyperwave;">HG-CSP</ulink> (Hyper-G Client/Server Protocol). Il est basé sur des messages qui initie des actions, comme par exemple, lire l'en-tête de fichier. Dans les premières versions de Hyperwave Server deux clients natifs (Harmony, Amadeus) étaient fournis pour permettre la communication avec le serveur. Ils ont disparu lors de la commercialisation de Hyperwave. En tant qu'ersatz, un client appelé wavemaster est désormais fourni. wavemaster est un espèce ce convertisseur de protocole de <abbrev>HTTP</abbrev> en <abbrev>HG-CSP</abbrev>. L'idée est de faire toute l'administration de la base et la visualisation des documents par une interface web. Le wavemaster implémente un jeu d'emplacement pour certaines actions de personnalisation de l'interface. Ce jeu est appelé <abbrev>PLACE</abbrev> language. <abbrev>PLACE</abbrev> pêche encore par le manque de nombreuses fonctions de programmation, et le manque d'évolutivité. Cela a conduit à l'utilisation de JavaScript ce qui ne rend pas la vie facile. </para> <para> Que PHP supporte Hyperwave permet de combler ces manques. PHP implémente tous les messages définis par <abbrev>HG-CSP</abbrev> mais fourni d'autres commandes puissantes, comme par exemple, celle de lire des documents complets. </para> <para> Hyperwave dispose de sa propre terminologie pour localiser certaines informations. Cette terminologie a été largement étendue. Presque toutes les fonctions utilisent l'un des types de données suivants : <itemizedlist> <listitem> <simpara> object ID: un entier, unique pour chaque objet sur le serveur Hyperwave. C'est aussi un des attributs de l'enregistrement de l'objet (ObjectID).Les object ids sont souvent utilisées comme paramètre d'entrée pour spécifier un objet. </simpara> </listitem> <listitem> <simpara> object record: Une chaîne contenant des paires clé=valeur. Les paires sont séparées par un retour à la ligne. Un enregistrement d'objet peut facilement être converti en tableau, avec la fonction <function>hw_objrec2array</function>. De nombreuses fonctions retournent un object records. Ces fonctions ont leur nom qui finit par obj. </simpara> </listitem> <listitem> <simpara> object array: Un tableau associatif qui contient tous les attributs d'un objet. La clé est l'attribut. Si un attribut apparaît plusieurs fois, il sera représenté sous la forme d'un tableau associatif ou indexé. Les attributs qui dépendent des langues (comme title, keyword ou description) seront représentés sous la forme d'un tableau associatif, dont les clés seront les abréviations de langues. Tous les autres attributs à valeur multiple prendront la forme d'un tableau indexé. </simpara> </listitem> <listitem> <simpara> hw_document: Ce type est un nouveau type de données, qui contient le document lui-même, comme par exemple HTML, PDF etc. Il est optimisé pour les documents HTML mais peut s'utiliser avec n'importe quel format. </simpara> </listitem> </itemizedlist> </para> <para> De nombreuses fonctions qui retournent un tableau d'enregistrements, retournent aussi un tableau associé, avec des informations statistiques. Ce tableau est le dernier élément du tableau d'enregistrements. Les statistiques contiennent les entrées suivantes : <variablelist> <varlistentry> <term>Hidden</term> <listitem> <simpara> Nombre d'objets dont l'attribut PresentationHints est Hidden. </simpara> </listitem> </varlistentry> <varlistentry> <term>CollectionHead</term> <listitem> <simpara> Nombre d'objet dont l'attribut PresentationHints est CollectionHead. </simpara> </listitem> </varlistentry> <varlistentry> <term>FullCollectionHead</term> <listitem> <simpara> Nombre d'objet dont l'attribut PresentationHints est FullCollectionHead. </simpara> </listitem> </varlistentry> <varlistentry> <term>CollectionHeadNr</term> <listitem> <simpara> Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints à CollectionHead. </simpara></listitem> </varlistentry> <varlistentry> <term>FullCollectionHeadNr</term> <listitem> <simpara> Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints est FullCollectionHead. </simpara> </listitem> </varlistentry> <varlistentry> <term>Total</term> <listitem> <simpara> Total: Nombre d'enregistrements. </simpara> </listitem> </varlistentry> </variablelist> </para> </sect1> <sect1 id="hw-apache"> <title>Intégration avec Apache</title> <para> L'extension Hyperwave est utilisée de manière optimale lorsque PHP est compilé comme module Apache. Dans ce cas, le serveur Hyperwave sous jacent peut être caché quasiment totalement aux utilisateurs, si Apache utilise son moteur d'écriture. Les explications suivantes vous éclaireront : </para> <para> Etant donné que PHP avec l'extension Hyperwave et Apache tend à remplacer la solution native basée sur Wavemaster, je vais supposer que le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas nécessaire, mais cela simplifie grandment la configuration. Le concept est très simple. Premièrement, vous avez besoin d'un script PHP qui évalue la variable <envar>PATH_INFO</envar> et considère que cette valeur est un objet Hyperwave. Appelons ce script 'Hyperwave'. L'URL <systemitem role="url">http://votre.hote/Hyperwave/nom_objet</systemitem> retourne alors l'objet Hyperwave dont le nom est 'nom_objet'. Le script doit alors réagir suivant le type de l'objet. Si c'est un groupe, il devra probablement retourner une liste de fils. Si c'est un document, il pourra retourner son type MIME et son contenu. Une amélioration peut être obtenue en utilisant le moteur de réécriture d'Apache. D'un point de vue utilisateur, il est plus direct si l'URL <systemitem role="url">http://votre.hote/nom_objet</systemitem> retourne l'objet. La règle de réécriture est simple : <informalexample> <programlisting role="apache-conf">RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L] </programlisting> </informalexample> Maintenant toutes les URL pointent sur un objet Hyperwave. Cela conduit à un problème simple. Il n'y a pas d'autre façon d'exécuter, c'est-à-dire rechercher, un autre script que ce script 'Hyperwave'. Cela pourra être corrigé avec une autre règle telle que: <informalexample> <programlisting role="apache-conf">RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L] </programlisting> </informalexample> Le dossier <filename class="directory">/usr/local/apache/htdocs/hw</filename> sera ainsi réservé pour d'autres scripts et fichiers. Assurez-vous que cette règle est évaluée avant la première règle que nous avons définie. Il y a juste un léger inconvénient : tous les objets Hyperwave qui commencent par 'hw/' seront cachés. Alors, assurez-vous que vous n'utilisez pas de tels noms. Si vous avez besoin d'autres dossiers, par exemple, un dossier d'images, ajoutez simplement d'autres règles. N'oubliez pas de lancer le moteur de réécriture avec <informalexample> <programlisting role="apache-conf">RewriteEngine on </programlisting> </informalexample> Mon expérience m'a montré que vous aurez besoin des scripts suivants : <itemizedlist> <listitem> <simpara> Retourne l'objet lui-même </simpara> </listitem> <listitem> <simpara> Pour autoriser la recherche </simpara> </listitem> <listitem> <simpara> S'identifier </simpara> </listitem> <listitem> <simpara> Choisir une configuration </simpara> </listitem> <listitem> <simpara> Un script pour chaque fonction supplémentaire, comme afficher un objet, afficher des informations sur les utilisateurs, afficher le statut du serveur, etc... </simpara> </listitem> </itemizedlist> </para> </sect1> <sect1 id="hw-todo"> <title>A faire</title> <para> Il reste encore beaucoup à faire : <itemizedlist> <listitem> <simpara> La fonction hw_InsertDocument doit être séparée en deux : hw_insertobject() et hw_putdocument(). </simpara> </listitem> <listitem> <simpara> Les noms de nombreuses fonctions ne sont pas encore fixés. </simpara> </listitem> <listitem> <simpara> La majorité des fonctions requièrent la connexion courante comme premier paramètre. Cela conduit à beaucoup de frappe clavier, même s'il n'y a souvent qu'une seule connexion en jeu. Une connexion par défaut améliorerait ceci. </simpara> </listitem> </itemizedlist> </para> </sect1> </partintro> <refentry id="function.hw-array2objrec"> <refnamediv> <refname>hw_Array2Objrec</refname> <refpurpose>Convertit un tableau en un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_array2objrec</function></funcdef> <paramdef>array <parameter>object_array</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_array2objrec</function> convertit un <parameter>object_array</parameter> en un objet. Les attributs multiples tels que 'Title' en différentes langues seront traités correctement. </para> <para> Voir aussi <function>hw_objrec2array</function>. </para> </refsect1> </refentry> <refentry id="function.hw-children"> <refnamediv> <refname>hw_Children</refname> <refpurpose>Liste des object ids des objets fils.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_children</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_children</function> retourne un tableau avec des object ids. Chaque object id est celui d'un des fils du groupe dont l'id est <parameter>objectID</parameter>. Ce tableau contient tous les fils, documents et groupes. </para> </refsect1> </refentry> <refentry id="function.hw-childrenobj"> <refnamediv> <refname>hw_ChildrenObj</refname> <refpurpose>Liste des object records des objets fils.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_childrenobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_childrenobj</function> retourne un tableau avec des object records. Chaque object records est celui d'un des fils du groupe dont l'id est <parameter>objectID</parameter>. Ce tableau contient tous les fils, documents et groupes </para> </refsect1> </refentry> <refentry id="function.hw-close"> <refnamediv> <refname>hw_Close</refname> <refpurpose>Ferme la connexion Hyperwave.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_close</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_close</function> retourne &false; si la connexion n'est pas valide, et sinon, &true;. Ferme la connexion connection à un serveur Hyperwave. </para> </refsect1> </refentry> <refentry id="function.hw-connect"> <refnamediv> <refname>hw_Connect</refname> <refpurpose>Ouvre une connexion Hyperwave.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_connect</function></funcdef> <paramdef>string <parameter>host</parameter></paramdef> <paramdef>int <parameter>port</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_connect</function> ouvre une connexion Hyperwave et retourne un identifiant de connexion, en cas de succès, ou &false;, si la connexion n'a pas pu être créée. Chaque argument doit être entouré de guillemets, sauf le numéro de port. Les arguments <parameter>username</parameter> et <parameter>password</parameter> sont optionnels, et peuvent être ignorés. Dans ce cas, aucune identification ne sera faite au niveau du serveur. Cela revient à s'identifier en tant qu'utilisateur anonyme. Cette fonction retourne un identifiant de connexion qui sera nécessaire aux autres fonctions Hyperwave. Vous pouvez avoir plusieurs connexions simultanées. N'oubliez pas que les mots de passe ne sont pas cryptés. </para> <para> Voir aussi <function>hw_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.hw-cp"> <refnamediv> <refname>hw_Cp</refname> <refpurpose>Copie des objets.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_cp</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>array <parameter>object_id_array</parameter></paramdef> <paramdef>int <parameter>destination_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_cp</function> copie les objets ayant les identifiants <parameter>object_id_array</parameter>, et crée un groupe ayant l'object id <parameter>destination_id</parameter>. </para> <para> La valeur retournée est le nombre d'objets copiés. </para> <para> Voir aussi <function>hw_mv</function>.</para> </refsect1> </refentry> <refentry id="function.hw-deleteobject"> <refnamediv> <refname>hw_Deleteobject</refname> <refpurpose>Efface des objets.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_deleteobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>object_to_delete</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_deleteobject</function> efface l'objet dont l'identifiant est <parameter>object_to_delete</parameter>. Toutes les instances de l'objet <parameter>object_to_delete</parameter> seront effacées. </para> <para> <function>hw_deleteobject</function> retourne &true; si aucune erreur ne survient, et sinon, &false;. </para> <para> Voir aussi <function>hw_mv</function>. </para> </refsect1> </refentry> <refentry id="function.hw-docbyanchor"> <refnamediv> <refname>hw_DocByAnchor</refname> <refpurpose>Identifiant d'objet de l'objet dans l'ancrage.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_docbyanchor</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>anchorID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_docbyanchor</function> retourne l'dentifiant d'objet de l'objet dans l'ancrage <parameter>anchorID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-docbyanchorobj"> <refnamediv> <refname>hw_DocByAnchorObj</refname> <refpurpose>Attributs de l'objet dans l'ancrage.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_docbyanchorobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>anchorID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_docbyanchorobj</function> retourne les attributs du document qui correspond à <parameter>anchorID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-documentattributes"> <refnamediv> <refname>hw_DocumentAttributes</refname> <refpurpose>Object record de hw_document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentattributes</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentattributes</function> retourne les attributs du document. </para> <para> Voir aussi <function>hw_documentbodytag</function> et <function>hw_documentsize</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentbodytag"> <refnamediv> <refname>hw_DocumentBodyTag</refname> <refpurpose>Balise de corps d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentbodytag</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentbodytag</function> retourne la balise BODY du document.Si le document est un document HTML , la balise BODY doit être affichée avant le document. </para> <para> Voir aussi <function>hw_documentattributes</function> et <function>hw_documentsize</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentcontent"> <refnamediv> <refname>hw_DocumentContent</refname> <refpurpose>Contenu d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentcontent</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentcontent</function> retourne la balise BODY du document.Si le document est un document HTML , la balise BODY doit être affichée avant le document. </para> <para> Voir aussi <function>hw_documentattributes</function>, <function>hw_documentsize</function> et <function>hw_documentsetcontent</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentsetcontent"> <refnamediv> <refname>hw_DocumentSetContent</refname> <refpurpose>Modifie/remplace le contenu d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentsetcontent</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> <paramdef>string <parameter>content</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentsetcontent</function> modifie/remplace le contenu d'un document. Si le document est un document HTML, le contenu représente tout qui est placé au-delà de la balise BODY. Les informations de HEAD et de la balise BODY sont enregistrés dans les attributs. Si vous fournissez aussi ces informations dans le corps du document, le serveur Hyperwave modifiera les attributs. Cela n'est cependant pas une bonne idée. Si la fonction échoue, l'ancien contenu est restauré. </para> <para> Voir aussi <function>hw_documentattributes</function>, <function>hw_documentsize</function> et <function>hw_documentcontent</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentsize"> <refnamediv> <refname>hw_DocumentSize</refname> <refpurpose>Taille d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_documentsize</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentsize</function> retourne la taille du document en octets. </para> <para> Voir aussi <function>hw_documentbodytag</function> et <function>hw_documentattributes</function>. </para> </refsect1> </refentry> <refentry id="function.hw-errormsg"> <refnamediv> <refname>hw_ErrorMsg</refname> <refpurpose>Retourne un message d'erreur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_errormsg</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_errormsg</function> retourne une chaîne contenant le dernier message d'erreur, ou 'No Error' (pas d'erreur). Si &false; est retourné, cette fonction a échoué. Ce message est relatif à la dernière commande exécutée. </para> </refsect1> </refentry> <refentry id="function.hw-edittext"> <refnamediv> <refname>hw_EditText</refname> <refpurpose>Retourne un document texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_edittext</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_edittext</function> charge le texte du document sur le serveur. Les attributs du document ne doivent pas être modifiés tant que le document est en train d'être édité. Cette fonction n'est disponible que sur les documents texte. Elle n'ouvrira pas de canal de transfert, et donc, bloquera le script durant le transfert. </para> <para> Voir aussi <function>hw_pipedocument</function>, <function>hw_free_document</function>, <function>hw_documentbodytag</function>, <function>hw_documentsize</function>, <function>hw_outputdocument</function> et <function>hw_gettext</function>. </para> </refsect1> </refentry> <refentry id="function.hw-error"> <refnamediv> <refname>hw_Error</refname> <refpurpose>Retourne le code d'erreur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_error</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_error</function> retourne le code d'erreur de la dernière erreur. Si la valeur 0 est retournée, c'est qu'il n'y avait pas d'erreur. L'erreur se rapporte à la dernière commande. </para> </refsect1> </refentry> <refentry id="function.hw-free-document"> <refnamediv> <refname>hw_Free_Document</refname> <refpurpose>Détruit un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_free_document</function></funcdef> <paramdef>resource <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_free_document</function> détruit un document Hyperwave. </para> </refsect1> </refentry> <refentry id="function.hw-getparents"> <refnamediv> <refname>hw_GetParents</refname> <refpurpose>Identifiant d'objet des parents.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getparents</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getparents</function> retourne un tableau indexé avec les identifiants des objets parents de <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-getparentsobj"> <refnamediv> <refname>hw_GetParentsObj</refname> <refpurpose>Attributs des parents.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getparentsobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getparentsobj</function> retourne un tableau indexé, avec les attributs et un tableau associé, d'informations statistiques à propos des attributs. Ce tableau associé est le dernier élément du tableau retourné. Chaque attribut appartient au père de l'objet <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-getchildcoll"> <refnamediv> <refname>hw_GetChildColl</refname> <refpurpose>Identifiant d'objet des groupes fils.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchildcoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchildcoll</function> retourne un tableau contenant les identifiants d'objets des groupes fils du groupe <parameter>objectID</parameter>. Cette fonction ne retournera pas d'identifiants d'objets des documents fils. </para> <para> Voir aussi <function>hw_getchilddoccoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getchildcollobj"> <refnamediv> <refname>hw_GetChildCollObj</refname> <refpurpose>object records d'un groupe d'enfants.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchildcollobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchildcollobj</function> retourne un tableau d'object record. Chaque object records appartient à un groupe d'enfants de la collection <parameter>objectID</parameter>. La fonction ne retournera pas de documents enfants. </para> <para> Voir aussi <function>hw_childrenobj</function> et <function>hw_getchilddoccollobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getremote"> <refnamediv> <refname>hw_GetRemote</refname> <refpurpose>Retourne un document distant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_getremote</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getremote</function> retourne un document distant. Les documents distants sont , en Hyperwave, des documents lus depuis une source externe. La plupart des documents éloignés sont des pages web externes, ou des requêtes sur une base de données. Afin de pouvoir accéder à des sources externes, grâce aux documents distants, Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est similaire à CGI. Actuellement, seuls les protocoles de FTP, HTTP et certaines bases de données sont accessibles avec HGI. <function>hw_getremote</function> retourne le document de la source distante. Si vous voulez utiliser cette fonction, il vous faut vous familiariser avec HGIs. Il est aussi préférable d'utiliser PHP plutôt que Hyperwave pour accéder aux sources externes. Le support des bases de données sera plus difficile avec Hyperwave que PHP. </para> <para> Voir aussi <function>hw_getremotechildren</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getremotechildren"> <refnamediv> <refname>hw_GetRemoteChildren</refname> <refpurpose>Retourne les fils d'un document distant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_getremotechildren</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>object_record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getremotechildren</function> retourne les fils d'un document distant. Les fils d'un document distant sont des documents distants eux mêmes. Cela est cohérent si une requête sur une base de données doit être rendu plus sélective, comme expliqué dans Hyperwave Programmers' Guide. Si le nombre de fils est 1 la fonction va retourner le document lui-même, la fonction retournera le document lui-même, formaté Hyperwave Gateway Interface (HGI). Si le nombre de fils est supérieur 1 la fonction retournera un tableau d'attributs, qui pourra servir à une nouvelle requête avec <function>hw_getremotechildren</function>. Ces attributs sont virtuels et n'existent pas sur le serveur Hyperwave, et ainsi, n'ont pas d'identifiant d'objet valide. L'ordre exact de ces objets est du ressort de HGI. Si vous voulez utiliser cette fonction, vous devez être très familier HGIs. Il vaut mieux PHP plutôt que Hyperwave pour accéder aux fichiers distants. Le support de base de données y est bien meilleur. </para> <para> Voir aussi <function>hw_getremote</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getsrcbydestobj"> <refnamediv> <refname>hw_GetSrcByDestObj</refname> <refpurpose>Retourne les ancrages qui pointent sur un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getsrcbydestobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getsrcbydestobj</function> retourne les attributs de tous les ancrages qui pointent sur <parameter>objectID</parameter>. L'objet peut être un document ou un autre ancrage, de type destination. </para> <para> Voir aussi <function>hw_getanchors</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobject"> <refnamediv> <refname>hw_GetObject</refname> <refpurpose>Attributs d'un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int|array <parameter>objectID</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobject</function> retourne les attributs de l'objet dont l'identifiant est <parameter>objectID</parameter>, si le second paramètre est un entier. Si le second paramètre est un tableau, la fonction retournera un tableau d'attributs. Dans ce cas, le dernier paramètre est aussi évalué. </para> <para> <parameter>query</parameter> a la syntaxe suivante : </para> <simpara> <expression> ::= "(" <expression> ")" | </simpara> <simpara> "!" <expression> | /* NOT */ </simpara> <simpara> <expression> "||" <expression> | /* OR */ </simpara> <simpara> <expression> "&&" <expression> | /* AND */ </simpara> <simpara> <attribute> <operator> <value> </simpara> <simpara> <attribute> ::= /* * n'importe quel attribut (Title, Author, DocumentType ...) */ </simpara> <simpara> <operator> ::= "=" | /* égal */ </simpara> <simpara> "<" | /* moins que (comparaison de type chaîne) */ </simpara> <simpara> ">" | /* plus que (comparaison de type chaîne) */ </simpara> <simpara> "~" /* recherche par expression régulière */ </simpara> <simpara> </simpara> <para> <parameter>query</parameter> permet de sélectionner une nouvelle fois certains objets dans la liste des objets donnés. Contrairement aux autres requêtes, celle-ci peut utiliser des attributs non indexés. Le nombre d'attributs retourné dépend de la requête de la requête, et des autorisations d'accès aux objets. </para> <para> Voir aussi <function>hw_getandlock</function> et <function>hw_getobjectbyquery</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getandlock"> <refnamediv> <refname>hw_GetAndLock</refname> <refpurpose>Retourne les attributs, et verrouille l'objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_getandlock</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getandlock</function> retourne les attributs, et verrouille l'objet <parameter>objectID</parameter>. Le verrouillage empêchera les autres utilisateurs d'y accéder, jusqu'à ce qu'il soit deverrouillé. </para> <para> Voir aussi <function>hw_unlock</function> et <function>hw_getobject</function>. </para> </refsect1> </refentry> <refentry id="function.hw-gettext"> <refnamediv> <refname>hw_GetText</refname> <refpurpose>Retourne un document texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_gettext</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>mixed <parameter> <optional>rootID/prefix</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_gettext</function> retourne le document de l'objet <parameter>objectID</parameter>. Si le document possède des ancrages qui peuvent être insérés, ils seront déjà insérés. L'option rootID/prefix peut être une chaîne ou un entier. Si c'est un entier, il détermine la méthode d'insertion des liens dans le document. Par défaut, il vaut 0 et les liens seront construits en fonction du nom de l'objet cible. Cela sert beaucoup dans les applications web. Si un lien pointe sur un objet avec le nom 'film_internet' le lien HTML sera <A HREF="/internet_movie">. La position réelle de la source et de la cible dans la hiérarchie seront ignorés. Vous devrez modificer votre site web pour qu'il réécrive les URL, comme par exemple '/mon_script.php3/film_internet'. 'mon_script.php3' devra analyser $PATH_INFO et savoir recherche le document '/mon_script.php3/film_internet'. Si vous ne voulez pas de ce comportement, vous pouvez affecter à rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une chaîne. </para> <para> Si <parameter>rootID/prefix</parameter> est un entier différent de 0 le lien sera construit avec tous les noms de la hiérarchie, en commençant à l'objet d'identifiant rootID/prefix, et séparé par des slash. Si, par exemple, le document 'film_internet' est situé à 'a-b-c-internet_movie' et '-' qui sert de séparateur hiérarchique de niveau sur le serveur Hyperwave et le document source est situé dans 'a-b-d-source' alors, le lien HTML serait: <A HREF="../c/internet_movie">. Cela est très pratique si vous voulez télécharger tout le contenu d'un serveur sur un disque, et faire une carte du système sur votre disque. </para> <para> <function>hw_gettext</function> n'est opérationnelle qu'avec des documents de pur texte. Elle n'ouvrira pas de canal spécial de transfert, et ainsi, bloquera le script le temps du transfert. </para> <para> Voir aussi <function>hw_pipedocument</function>, <function>hw_free_document</function>, <function>hw_documentbodytag</function>, <function>hw_documentsize</function> et <function>hw_outputdocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyquery"> <refnamediv> <refname>hw_GetObjectByQuery</refname> <refpurpose>Recherche un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyquery</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyquery</function> recherche un objet sur tout le serveur et retourne un tableau d' object ids. Le nombre maximum d'objet est limité par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyqueryobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyqueryobj"> <refnamediv> <refname>hw_GetObjectByQueryObj</refname> <refpurpose>Recherche un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyqueryobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyqueryobj</function> recherche un objet sur tout le serveur et retourne un tableau d' object records. Le nombre maximum d'objet est limité par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyquery</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyquerycoll"> <refnamediv> <refname>hw_GetObjectByQueryColl</refname> <refpurpose>Recherche un objet dans un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyquerycoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyquerycoll</function> recherche un objet sur tout le groupe objectID et retourne un tableau d' object records. Le nombre maximum d'objet est limité par <parameter>objectID</parameter>. Si <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyquerycollobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyquerycollobj"> <refnamediv> <refname>hw_GetObjectByQueryCollObj</refname> <refpurpose>Recherche un objet dans un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyquerycollobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyquerycollobj</function> recherche un objet sur tout le groupe objectID et retourne un tableau d' object records. Le nombre maximum d'objet est limité par <parameter>objectID</parameter>. Si <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyquerycoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getchilddoccoll"> <refnamediv> <refname>hw_GetChildDocColl</refname> <refpurpose>ids des documents fils d'un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchilddoccoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchilddoccoll</function> retourne un tableau avec les id des documents fils d'une collection. </para> <para> Voir aussi <function>hw_getchildcoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getchilddoccollobj"> <refnamediv> <refname>hw_GetChildDocCollObj</refname> <refpurpose>Attributs des documents fils d'un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchilddoccollobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchilddoccollobj</function> retourne un tableau contenant les attributs des documents fils du groupe <parameter>objectID</parameter>. </para> <para> Voir aussi <function>hw_childrenobj</function> et <function>hw_getchildcollobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getanchors"> <refnamediv> <refname>hw_GetAnchors</refname> <refpurpose>Identifiants des ancrages d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getanchors</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getanchors</function> retourne un tableau contenant les identifiants des ancrages du document <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-getanchorsobj"> <refnamediv> <refname>hw_GetAnchorsObj</refname> <refpurpose>Attributs des ancrages d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getanchorsobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getanchorsobj</function> retourne un tableau d'attributs des ancrages du document <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-mv"> <refnamediv> <refname>hw_Mv</refname> <refpurpose>Déplace un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_mv</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>array <parameter>object_id_array</parameter></paramdef> <paramdef>int <parameter>source_id</parameter></paramdef> <paramdef>int <parameter>destination_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_mv</function> déplaces les objets dont les identifiants sont passés dans le tableau <parameter>source_id</parameter>, depuis le <parameter>source_id</parameter> dans le <parameter>destination_id</parameter>. Si destination id vaut 0, les objets ne seront plus insérés dans le groupe (ni dans le serveur). Dans ce cas, si une instance était la dernière instance d'un objet, l'objet sera effacé. Si vous voulez effacer toutes les instances d'un coup, utilisez <function>hw_deleteobject</function>. </para> <para> La valeur retournée est le nombre d'objet déplacés. </para> <para> Voir aussi <function>hw_cp</function> et <function>hw_deleteobject</function>. </para> </refsect1> </refentry> <refentry id="function.hw-identify"> <refnamediv> <refname>hw_Identify</refname> <refpurpose>Identifie un utilisateur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_identify</function></funcdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_identify</function> identifie un utilisateur, dont le nom d'utilisateur est <parameter>username</parameter> et le mot de passe <parameter>password</parameter>. L'identification n'est valide que pour la session en cours. Je ne pense pas que cette fonction serve souvent. Dans la plupart des cas, il est plus simple de s'identifier lors de l'ouverture de la connexion. </para> <para> Voir aussi <function>hw_connect</function>. </para> </refsect1> </refentry> <refentry id="function.hw-incollections"> <refnamediv> <refname>hw_InCollections</refname> <refpurpose> Vérifie qu'un identifiant d'objet est dans un groupe. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_incollections</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>array <parameter>object_id_array</parameter></paramdef> <paramdef>array <parameter>collection_id_array</parameter></paramdef> <paramdef>int <parameter>return_collections</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_incollections</function> vérifie qu'un ensemble d'objets (documents ou groupes) donnés par <parameter>object_id_array</parameter> fait partie des groupe listés par <parameter>object_id_array</parameter>. Lorsque le quatrième paramètre <parameter>return_collections</parameter> vaut 0, le sous ensemble d'identifiants qui font partie d'un groupe (i.e. les documents ou groupes qui sont fils d'un ou plusieurs groupe, ou leurs fils, récursivement) est retourné sous la forme d'un tableau. Cette option permet de mettre en valeur la partie de l'arborescence qui contient le résultat d'une requête, dans un sens graphique. </para> </refsect1> </refentry> <refentry id="function.hw-info"> <refnamediv> <refname>hw_Info</refname> <refpurpose>Informations à propos d'une connexion.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_info</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_info</function> retourne les informations de la connexion courante. La chaîne retournée a le format suivant : <Serverstring>, <Host>, <Port>, <Username>, <Port of Client>, <Byte swapping> </para> </refsect1> </refentry> <refentry id="function.hw-inscoll"> <refnamediv> <refname>hw_InsColl</refname> <refpurpose>Insère un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_inscoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>array <parameter>object_array</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_inscoll</function> insère un nouveau groupe, avec les attributs <parameter>object_array</parameter> dans le groupe <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-insdoc"> <refnamediv> <refname>hw_InsDoc</refname> <refpurpose>Insère un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_insdoc</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>parentID</parameter></paramdef> <paramdef>string <parameter>object_record</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_insdoc</function> insère un nouveau document avec les attributs <parameter>object_record</parameter>, dans le groupe <parameter>parentID</parameter>. Cette fonction insère soit un objet avec ses seuls attributs, soit pur objet ascii, avec <parameter>text</parameter> s'il est fourni. Si vous voulez insérer un document de type général, utilisez plutôt <function>hw_insertdocument</function>. </para> <para> Voir aussi <function>hw_insertdocument</function> et <function>hw_inscoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-insertdocument"> <refnamediv> <refname>hw_InsertDocument</refname> <refpurpose>Insère un document dans un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_insertdocument</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>parent_id</parameter></paramdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_insertdocument</function> insère un document dans le groupe <parameter>parent_id</parameter>. Le document doit avoir été créé auparavant avec <function>hw_new_document</function>. Assurez-vous que les attributs du nouveau document contiennent au moins les attributs suivants : Type, DocumentType, Title et Name. Vous aurez aussi parfois besoin de MimeType. La fonction retourne l'identifiant de l'objet inséré, ou bien &false;. </para> <para> Voir aussi <function>hw_pipedocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-insertobject"> <refnamediv> <refname>hw_InsertObject</refname> <refpurpose>Insère un object record.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_insertobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>object_rec</parameter></paramdef> <paramdef>string <parameter>parameter</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_insertobject</function> insère un objet dans le serveur. L'objet peut être n'importe quel objet Hyperwave valide. Reportez-vous à la documentation HG-CSP pour plus de détails sur les paramètres. </para> <para> Note: Si vous voulez insérer un ancre, l'attribut Position doit être mis à la valeur start/end (début ou fin) ou encore 'invisible'. Les positions invisibles sont nécessaire si l'annotation n'a pas de liens correspondant dans le texte de l'annotation. </para> <para> Voir aussi <function>hw_pipedocument</function>, <function>hw_insertdocument</function>, <function>hw_insdoc</function> et <function>hw_inscoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-mapid"> <refnamediv> <refname>hw_mapid</refname> <refpurpose>Représente un id globale en un id virtuel local.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_mapid</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>server_id</parameter></paramdef> <paramdef>int <parameter>object_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_mapid</function> représente l'id d'un objet global de n'importe quel serveur Hyperwave, même si vous ne vous y êtes pas connecté avec <function>hw_connect</function>, avec un id d'objet local virtuel. Cet id d'objet local peut alors être utilisé comme n'importe quel id d'objet : par exemple on peut obtenir l'enregistrement d'objet avec la fonction <function>hw_getobject</function>. L'id du serveur est la première partie de l'id global (GOid) de l'objet, qui est en fait une adresse IP. </para> <para> Note: Afin d'utiliser cette fonction, vous devez lever le flag F_DISTRIBUTED, ce qui ne peut être fait qu'à la compilation. Par défaut, il n'est pas levé. Lisez les commentaires dans le fichier hg_comm.c </para> </refsect1> </refentry> <refentry id="function.hw-modifyobject"> <refnamediv> <refname>hw_Modifyobject</refname> <refpurpose>Modifie les attributs d'objet record.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_modifyobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>object_to_change</parameter></paramdef> <paramdef>array <parameter>remove</parameter></paramdef> <paramdef>array <parameter>add</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_modifyobject</function> permet d'effacer, d'ajouter ou de modifier les attributs d'un objet. L'objet est reperé par son identifiant <parameter>object_to_change</parameter>. Le premier tableau, <parameter>remove</parameter>, est la liste des attributs à effacer. Le deuxième tableau <parameter>add</parameter> est la liste des attributs à ajouter. Afin de modifier un attribut, il vous faudra dont l'effacer, puis l'ajouter à nouveau. <function>hw_modifyobject</function> effacera toujours les attributs avant de les ajouter, à moins que la valeur de l'attribut à effacer ne soit pas une chaîne, ou un tableau. </para> <para> Le dernier paramètre détermine si la modification est récursive ou pas. 1 signifie que la modification est récursive. Si un objet ne peut pas être modifié, il sera ignoré. <function>hw_error</function> n'indiquera alors pas toujours d'erreur, même si certains objets n'ont pas pu être modifié. </para> <para> Les clés des deux tableaux sont les noms des attributs. La valeur de chaque élément peut être un tableau, ou une chaîne ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut est construite en séparant chaque élément par un point virgule. Dans le cas de la chaîne, elle sert directement de valeur. Une chaîne vide provoquera un effacement de l'attribut. Dans le cas où la valeur n'est ni un tableau, ni une chaîne, aucune opération ne sera effectuée. Cela est nécessaire si vous voulez ajouter un attribut complètement une nouvelle valeur pour un attribut existant. Si le tableau d'effacement contenait une chaîne vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui échouerai de toute manière, car cet attribut n'existe pas. L'ajout de cet attribut échouerai aussi. Affecter la valeur de 0 à cet attribut ne l'effacerait pas, et l'ajout fonctionnerait. </para> <para> Si vous voulez changer l'attribut 'Nom' de valeur courante 'livres' en 'articles' vous devrez faire deux tableaux, et appeler <function>hw_modifyobject</function>. <example> <title>Modification d'un attribut</title> <programlisting role="php"><?php // $connect est une connexion valide // $objid est l'identifiant de l'objet $remarr = array("Name" => "books"); $addarr = array("Name" => "articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> Afin d'effacer/ajouter une paire nom=valeur aux attributs d'un objet, utilisez simplement les tableaux d'effacement et d'ajout, et laissez le dernier/troisième paramètre vide. Si l'attribut est le premier de ce nom à ajouter, donnez une valeur entière à cet élément. <example> <title>Ajouter un nouvel attribut</title> <programlisting role="php"><?php // $connect st une connexion Hyperwave valide // $objid est l'identifiant de l'objet à modifier $remarr = array("Name" => 0); $addarr = array("Name" => "articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> </para> <para> <note> <simpara> Les attributs multilingues, (tels que 'Title'), peuvent être modifiés de deux manières : soit en fournissant la valeur de ces attributs de manière native (langue :valeur), soit en fournissant un tableau avec les éléments de chaque langue, comme décrit ci-dessus. L'exemple deviendrai alors : </simpara> </note> <example> <title>Modifier l'attribut de Titre (Title)</title> <programlisting role="php"><?php $remarr = array("Title" => "en:Books"); $addarr = array("Title" => "en:Articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> ou <example> <title>Modifier l'attribut Title</title> <programlisting role="php"><?php $remarr = array("Title" => array("en" => "Books")); $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel")); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> Pour supprimer l'entrée française 'Livres' et ajouter l'entrée 'Articles' et l'entrée allemande 'Artikel'. <example> <title>Suppression d'un attribut</title> <programlisting role="php"><?php$remarr = array("Title" => "");$addarr = array("Title" => "en:Articles");$hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> <note> <simpara> Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter un nouvel attribut 'Title'. Cela peut être pratique pour effacer des attributs récursivement. </simpara> </note> <note> <simpara> Si vous devez effacer tous les attributs avec un certains nom, vous devez passer une chaîne vide comme valeur. </simpara> </note> <note> <simpara> Seuls les attributs 'Title', 'Description' et 'Keyword' gère correctement le préfixe de langue. Pour les autres attributs qui ne portent pas de préfixe de language, le préfixe 'xx' sera assigné. </simpara> </note> <note> <simpara> L'attribut 'Name' est un peu particuluer. Dans certains cas, il ne peut pas être complétement effacé. Vous aurez alors le message 'Change of base attribute' (l'apparition de cette erreur n'est pas très claire). Ainsi, vous aurez à ajouter une nouvelle entrée pour Name puis, effacer l'ancien. </simpara> </note> <note> <simpara> Il ne faut pas encadrer cette fonction par des appels à <function>hw_getandlock</function> et <function>hw_unlock</function>. <function>hw_modifyobject</function> le fait de manière interne. </simpara> </note> </para> <para> Retourne &true; si aucune erreur ne survient, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.hw-new-document"> <refnamediv> <refname>hw_New_Document</refname> <refpurpose>Crée un nouveau document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_new_document</function></funcdef> <paramdef>string <parameter>object_record</parameter></paramdef> <paramdef>string <parameter>document_data</parameter></paramdef> <paramdef>int <parameter>document_size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_new_document</function> retourne un nouveau document Hyperwave avec comme données <parameter>document_data</parameter> et comme attributs <parameter>object_record</parameter>. La longueur de <parameter>document_data</parameter> doit être données dans <parameter>document_size</parameter>. Cette fonction n'insère pas l'objet dans le serveur Hyperwave. </para> <para> Voir aussi <function>hw_free_document</function>, <function>hw_documentsize</function>, <function>hw_documentbodytag</function>, <function>hw_outputdocument</function> et <function>hw_insertdocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-objrec2array"> <refnamediv> <refname>hw_Objrec2Array</refname> <refpurpose>Convertit les attributs d'un objet en tableau.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_objrec2array</function></funcdef> <paramdef>string <parameter>object_record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_objrec2array</function> convertit les attributs <parameter>object_record</parameter> d'un objet en un tableau. Les clés du tableau seront les noms des attributs. Les attributs multiples comme par exemple 'Title', dans différentes langues, seront rassemblées dans un autre tableau. Une clé est la partie gauche d'un attribut. Actuellement, seuls les attributs 'Title', 'Description' et 'Keyword' sont traités correctement. </para> <para> Voir aussi <function>hw_array2objrec</function>. </para> </refsect1> </refentry> <refentry id="function.hw-outputdocument"> <refnamediv> <refname>hw_OutputDocument</refname> <refpurpose>Affiche hw_document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_outputdocument</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_outputdocument</function> affiche <parameter>hw_document</parameter> sans la balise BODY. </para> </refsect1> </refentry> <refentry id="function.hw-pconnect"> <refnamediv> <refname>hw_pConnect</refname> <refpurpose>Crée une connexion persistante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_pconnect</function></funcdef> <paramdef>string <parameter>host</parameter></paramdef> <paramdef>int <parameter>port</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_pconnect</function> retourne un index de connexion en cas de succès, et &false; si la connexion n'a pas pu être créée. <function>hw_pconnect</function> ouvre une connexion persistante à un serveur Hyperwave. Tous les arguments doivent être entre guillemets, hormis le numéro de port <parameter>port</parameter>. Les arguments <parameter>username</parameter> et <parameter>password</parameter> sont optionnels, et peuvent être ignorés. Dans ce cas, aucune authentification ne sera faite, (connexion anonyme). Cette fonction retourne un index de connexion qui sera utilisée par les autres fonctions Hyperwave. Vous pouvez ouvrir plusieurs connexions simultanées. </para> <para> Voir aussi <function>hw_connect</function>. </para> </refsect1> </refentry> <refentry id="function.hw-pipedocument"> <refnamediv> <refname>hw_PipeDocument</refname> <refpurpose>Retourne un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_pipedocument</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_pipedocument</function> retourne le document Hyperwave d'objet id <parameter>objectID</parameter>. Si le document a des ancrages, ils seront insérés. Le document sera transmis via une connexion de données spéciale, qui ne bloque pas la connexion de contrôle (ie, le serveur n'attend pas la fin du transfert pour rendre la main). </para> <para> Voir aussi <function>hw_gettext</function> (insertions), <function>hw_free_document</function>, <function>hw_documentsize</function>, <function>hw_documentbodytag</function> et <function>hw_outputdocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-root"> <refnamediv> <refname>hw_Root</refname> <refpurpose>Object id de la racine.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_root</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_root</function> retourne l'object id de la racine. Actuellement, cette identifiant est toujours 0. L'ensemble des fils de la racine est celui du serveur courant. </para> </refsect1> </refentry> <refentry id="function.hw-unlock"> <refnamediv> <refname>hw_Unlock</refname> <refpurpose>Déverrouille un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_unlock</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_unlock</function> déverrouille un document, et laisse l'accès aux autres utilisateurs. </para> <para> Voir aussi <function>hw_getandlock</function>. </para> </refsect1> </refentry> <refentry id="function.hw-who"> <refnamediv> <refname>hw_Who</refname> <refpurpose>Liste des utilisateurs actuellement identifiés.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_who</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_who</function> retourne un tableau contenant la liste des utilisateurs actuellement connectés au serveur Hyperwave. Chaque élément du tableau est lui-même un tableau, qui contient l'identifiant de l'élément, le nom, le système, la date de connexion (onSinceDate), l'heure de connexion (onSinceTime), la durée de connexion (TotalTime ) et self. 'self' contient l'élément est l'utilisateur qui a appelé la fonction. </para> </refsect1> </refentry> <refentry id="function.hw-getusername"> <refnamediv> <refname>hw_Username</refname> <refpurpose>Nom de l'utilisateur actuellement identifié.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_getusername</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getusername</function> retourne le nom d'utilisateur utilisé par la connexion. </para> </refsect1> </refentry> </reference> <!-- 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 sgml-parent-document:nil sgml-default-dtd-file:"../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: --> \ No newline at end of file Index: phpdoc/fr/functions/ibase.xml diff -u phpdoc/fr/functions/ibase.xml:1.9 phpdoc/fr/functions/ibase.xml:1.10 --- phpdoc/fr/functions/ibase.xml:1.9 Tue Jul 31 04:05:47 2001 +++ phpdoc/fr/functions/ibase.xml Mon Nov 12 00:10:21 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.ibase"> <title>InterBase</title> <titleabbrev>InterBase</titleabbrev> @@ -14,7 +16,7 @@ à PHP 4.0. </para> <para> - Cette base de données utilise les guillemets simples (') + Cette base de données utilise les guillemets simples (<literal>'</literal>) pour échapper les caractères, un peu comme le fait Sybase. Ajoutez à votre fichier <filename>php.ini</filename> la directive suivante : Index: phpdoc/fr/functions/icap.xml diff -u phpdoc/fr/functions/icap.xml:1.5 phpdoc/fr/functions/icap.xml:1.6 --- phpdoc/fr/functions/icap.xml:1.5 Sat Jul 7 18:22:11 2001 +++ phpdoc/fr/functions/icap.xml Mon Nov 12 00:10:21 2001 @@ -1,457 +1 @@ - <reference id="ref.icap"> - <title>ICAP</title> - <titleabbrev>ICAP</titleabbrev> - <partintro> - <simpara> - Pour faire fonctionner ces fonctions, vous devez compiler PHP avec - l'option <option role="configure">--with-icap</option>. Il vous faudra - aussi la librairie icap. Récupérez la dernière - version à <ulink url="&url.icap;">&url.icap;</ulink> et - décompilez-la, puis installez la. - </simpara> - </partintro> - <refentry id="function.icap-open"> - <refnamediv> - <refname>icap_open</refname> - <refpurpose>Ouvre une connexion ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>icap_open</function></funcdef> - <paramdef>string <parameter>calendar</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>string <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_open</function> retourne un flot ICAP en cas de succès, - &false; en cas d'erreur. - </para> - <para> - <function>icap_open</function> ouvre une connexion ICAP au serveur de - calendrier <parameter>calendar</parameter>. Si le paramètre - <parameter>options</parameter> est spécifié, passe - <parameter>options</parameter> à la boîte aux lettres(????). - </para> - </refsect1> - </refentry> - <refentry id="function.icap-close"> - <refnamediv> - <refname>icap_close</refname> - <refpurpose>Ferme le flot ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>icap_close</function></funcdef> - <paramdef>resource <parameter>icap_stream</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_close</function> ferme le flot ICAP - <parameter>icap_stream</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-fetch-event"> - <refnamediv> - <refname>icap_fetch_event</refname> - <refpurpose>Recherche un événement dans le calendrier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>icap_fetch_event</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>event_id</parameter></paramdef> - <paramdef>int - <parameter><optional>options</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_fetch_event</function> recherche un évenement - dans le calendrier spécifié par <parameter>id</parameter>. - </para> - <para> - Retourne un objet événement dont les attributs sont : - <itemizedlist> - <listitem> - <simpara> - int id - ID de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int public - &true; si l'événement est public, &false; si il est privé. - </simpara> - </listitem> - <listitem> - <simpara> - string category - Catégorie de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string title - Titre de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string description - Description de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. - </simpara> - </listitem> - <listitem> - <simpara> - object start - Objet contenant une date et une heure. - </simpara> - </listitem> - <listitem> - <simpara> - object end - Objet contenant une date et une heure. - </simpara> - </listitem> - </itemizedlist> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.icap-list-events"> - <refnamediv> - <refname>icap_list_events</refname> - <refpurpose> - Retourne une liste d'événement entre deux dates. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>icap_list_events</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>begin_date</parameter></paramdef> - <paramdef>int - <parameter><optional>end_date</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_list_events</function> retourne un tableau d'identificants - d'événéments, compris entre deux dates. - </para> - <para> - <function>icap_list_events</function> prend une date de début et - une date de fin. Un tableau d'identifiants est retourné. - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.icap-store-event"> - <refnamediv> - <refname>icap_store_event</refname> - <refpurpose>Enregistre un événement dans un agenda ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>icap_store_event</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>object <parameter>event</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_store_event</function> enregistre un événement - dans un calendrier ICAP. - </para> - <para> - Un événement est un objet avec les attributs suivants : - <itemizedlist> - <listitem> - <simpara> - int id - ID de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int public - &true; si l'événement est public, &false; si il est privé. - </simpara> - </listitem> - <listitem> - <simpara> - string category - Catégorie de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string title - Titre de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string description - Description de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. - </simpara> - </listitem> - <listitem> - <simpara> - object start - Objet contenant une date et une heure. - </simpara> - </listitem> - <listitem> - <simpara> - object end - Objet contenant une date et une heure. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-delete-event"> - <refnamediv> - <refname>icap_delete_event</refname> - <refpurpose>Efface un événement dans un agenda ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>icap_delete_event</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>uid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_delete_event</function> efface l'événement - d'identifiant <parameter>uid</parameter>. - </para> - <para> - Retourne &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-snooze"> - <refnamediv> - <refname>icap_snooze</refname> - <refpurpose>Eteind l'alarme d'un événement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>icap_snooze</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>uid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_snooze</function> éteind l'alarme de - l'événement identifié par l'UID - <parameter>uid</parameter>.</para> - <para> - Retourne &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-list-alarms"> - <refnamediv> - <refname>icap_list_alarms</refname> - <refpurpose> - Retourne une liste d'événements qui ont une alarme - prévue à une date. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>icap_list_alarms</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>array <parameter>date</parameter></paramdef> - <paramdef>array <parameter>time</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_list_alarms</function> retourne un tableau d'identifiants, - qui ont une alarme de prévue à la date - <parameter>alarm_date</parameter>. - </para> - <para> - <function>icap_list_alarms</function> prend une date, et retourne un tableau - d'identifiants. - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --> <reference id="ref.icap"> <title>ICAP</title> <titleabbrev>ICAP</titleabbrev> <partintro> <simpara> Pour faire fonctionner ces fonctions, vous devez compiler PHP avec l'option <option role="configure">--with-icap</option>. Il vous faudra aussi la librairie icap. Récupérez la dernière version à <ulink url="&url.icap;">&url.icap;</ulink> et décompilez-la, puis installez la. </simpara> </partintro> <refentry id="function.icap-open"> <refnamediv> <refname>icap_open</refname> <refpurpose>Ouvre une connexion ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>icap_open</function></funcdef> <paramdef>string <parameter>calendar</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>string <parameter>options</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_open</function> retourne un flot ICAP en cas de succès, &false; en cas d'erreur. </para> <para> <function>icap_open</function> ouvre une connexion ICAP au serveur de calendrier <parameter>calendar</parameter>. Si le paramètre <parameter>options</parameter> est spécifié, passe <parameter>options</parameter> à la boîte aux lettres(????). </para> </refsect1> </refentry> <refentry id="function.icap-close"> <refnamediv> <refname>icap_close</refname> <refpurpose>Ferme le flot ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>icap_close</function></funcdef> <paramdef>resource <parameter>icap_stream</parameter></paramdef> <paramdef>int <parameter><optional>flags</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_close</function> ferme le flot ICAP <parameter>icap_stream</parameter>. </para> </refsect1> </refentry> <refentry id="function.icap-fetch-event"> <refnamediv> <refname>icap_fetch_event</refname> <refpurpose>Recherche un événement dans le calendrier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>icap_fetch_event</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>event_id</parameter></paramdef> <paramdef>int <parameter><optional>options</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_fetch_event</function> recherche un évenement dans le calendrier spécifié par <parameter>id</parameter>. </para> <para> <function>icap_fetch_event</function> retourne un objet événement dont les attributs sont : <itemizedlist> <listitem> <simpara> int id - ID de l'événement. </simpara> </listitem> <listitem> <simpara> int public - &true; si l'événement est public, &false; si il est privé. </simpara> </listitem> <listitem> <simpara> string category - Catégorie de l'événement. </simpara> </listitem> <listitem> <simpara> string title - Titre de l'événement. </simpara> </listitem> <listitem> <simpara> string description - Description de l'événement. </simpara> </listitem> <listitem> <simpara> int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. </simpara> </listitem> <listitem> <simpara> object start - Objet contenant une date et une heure. </simpara> </listitem> <listitem> <simpara> object end - Objet contenant une date et une heure. </simpara> </listitem> </itemizedlist> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> <refentry id="function.icap-list-events"> <refnamediv> <refname>icap_list_events</refname> <refpurpose> Retourne une liste d'événement entre deux dates. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>icap_list_events</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>begin_date</parameter></paramdef> <paramdef>int <parameter><optional>end_date</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_list_events</function> retourne un tableau d'identificants d'événéments, compris entre deux dates. </para> <para> <function>icap_list_events</function> prend une date de début et une date de fin. Un tableau d'identifiants est retourné. </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> <refentry id="function.icap-store-event"> <refnamediv> <refname>icap_store_event</refname> <refpurpose>Enregistre un événement dans un agenda ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>icap_store_event</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>object <parameter>event</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_store_event</function> enregistre un événement dans un calendrier ICAP. </para> <para> Un événement est un objet avec les attributs suivants : <itemizedlist> <listitem> <simpara> int id - ID de l'événement. </simpara> </listitem> <listitem> <simpara> int public - &true; si l'événement est public, &false; si il est privé. </simpara> </listitem> <listitem> <simpara> string category - Catégorie de l'événement. </simpara> </listitem> <listitem> <simpara> string title - Titre de l'événement. </simpara> </listitem> <listitem> <simpara> string description - Description de l'événement. </simpara> </listitem> <listitem> <simpara> int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. </simpara> </listitem> <listitem> <simpara> object start - Objet contenant une date et une heure. </simpara> </listitem> <listitem> <simpara> object end - Objet contenant une date et une heure. </simpara> </listitem> </itemizedlist> </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> <para> <function>icap_store_event</function> retourne &true; en cas de succès, et &false; en cas d'erreur. </para> </refsect1> </refentry> <refentry id="function.icap-delete-event"> <refnamediv> <refname>icap_delete_event</refname> <refpurpose>Efface un événement dans un agenda ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>icap_delete_event</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>uid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_delete_event</function> efface l'événement d'identifiant <parameter>uid</parameter>. </para> <para> <function>icap_delete_event</function> retourne &true;. </para> </refsect1> </refentry> <refentry id="function.icap-snooze"> <refnamediv> <refname>icap_snooze</refname> <refpurpose>Eteind l'alarme d'un événement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>icap_snooze</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>uid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_snooze</function> éteind l'alarme de l'événement identifié par l'UID <parameter>uid</parameter>.</para> <para> <function>icap_snooze</function> retourne &true;. </para> </refsect1> </refentry> <refentry id="function.icap-list-alarms"> <refnamediv> <refname>icap_list_alarms</refname> <refpurpose> Retourne une liste d'événements qui ont une alarme prévue à une date. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>icap_list_alarms</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>array <parameter>date</parameter></paramdef> <paramdef>array <parameter>time</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_list_alarms</function> retourne un tableau d'identifiants, qui ont une alarme de prévue à la date <parameter>alarm_date</parameter>. </para> <para> <function>icap_list_alarms</function> prend une date, et retourne un tableau d'identifiants. </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/iconv.xml diff -u phpdoc/fr/functions/iconv.xml:1.1 phpdoc/fr/functions/iconv.xml:1.2 --- phpdoc/fr/functions/iconv.xml:1.1 Fri Jul 20 03:06:30 2001 +++ phpdoc/fr/functions/iconv.xml Mon Nov 12 00:10:21 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.2 $ --> <reference id="ref.iconv"> <title>Iconv</title> <titleabbrev>iconv</titleabbrev> @@ -13,8 +15,8 @@ </para> <para> L'extension iconv convertit des fichiers entre divers jeux de caractères. - Les jeux supportés dépendent de l'implémentation de iconv() sur votre - système. Notez que cette fonction ne fonctionne pas toujours bien + Les jeux supportés dépendent de l'implémentation de iconv() + sur votre système. Notez que cette fonction ne fonctionne pas toujours bien sur tous les systèmes. Dans ce cas, vous devez installer la librairie tout de même. </para> @@ -45,7 +47,7 @@ <title>Exemple avec <function>iconv</function></title> <programlisting role="php"> <?php - echo iconv("ISO-8859-1","UTF8","Ceci est un test."); + echo iconv("ISO-8859-1","UTF-8","Ceci est un test."); ?> </programlisting> </example> @@ -144,7 +146,8 @@ <para> <function>ob_iconv_handler</function> convertit la chaîne utilisant le jeu de caractères <parameter>internal_encoding</parameter> en - une chaîne utilisant le jeu de caractères <parameter>output_encoding</parameter>. + une chaîne utilisant le jeu de caractères + <parameter>output_encoding</parameter>. </para> <para> <parameter>internal_encoding</parameter> et Index: phpdoc/fr/functions/ifx.xml diff -u phpdoc/fr/functions/ifx.xml:1.9 phpdoc/fr/functions/ifx.xml:1.10 --- phpdoc/fr/functions/ifx.xml:1.9 Thu Jul 12 08:19:14 2001 +++ phpdoc/fr/functions/ifx.xml Mon Nov 12 00:10:21 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.ifx"> <title>Informix</title> <titleabbrev>Informix</titleabbrev> @@ -183,7 +185,7 @@ </funcsynopsis> <para> <function>ifx_connect</function> retourne un identifiant de connexion, en - cas de succès, et <literal>FALSE</literal> sinon. + cas de succès, et &false; sinon. </para> <para> <function>ifx_connect</function> établit une connexion à un @@ -207,7 +209,9 @@ les connexions avec <function>ifx_close</function>. </para> <para> - Voir aussi<function>ifx_pconnect</function> et <function>ifx_close</function>. + Voir aussi + <function>ifx_pconnect</function> et + <function>ifx_close</function>. <example> <title>Connection à un serveur Informix</title> <programlisting role="php"> @@ -244,7 +248,7 @@ </funcsynopsis> <para> <function>ifx_pconnect</function> retourne un identifiant positif de - connexion Informix, ou <literal>FALSE</literal>, en cas d'erreur. + connexion Informix, ou &false;, en cas d'erreur. </para> <para> <function>ifx_pconnect</function> se comporte de manière très @@ -269,7 +273,8 @@ Ainsi, ce type de lien est appelé 'persistant'. </para> <para> - Voir aussi: <function>ifx_connect</function>. + Voir aussi + <function>ifx_connect</function>. </para> </refsect1> </refentry> @@ -289,7 +294,7 @@ </funcprototype> </funcsynopsis> <para> - <function>ifx_close</function> retourne toujours <literal>TRUE</literal>. + <function>ifx_close</function> retourne toujours &true;. </para> <para> <function>ifx_close</function> ferme le lien au serveur de données @@ -308,7 +313,9 @@ <function>ifx_pconnect</function>. </para> <para> - Voir aussi: <function>ifx_connect</function> et <function>ifx_pconnect</function>. + Voir aussi + <function>ifx_connect</function> et + <function>ifx_pconnect</function>. <example> <title>Fermer une connexion Informix</title> <programlisting role="php"> @@ -348,7 +355,7 @@ </funcsynopsis> <para> <function>ifx_query</function> retourne un identifiant positif de - résultat Informix en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + résultat Informix en cas de succès, et &false; en cas d'erreur. </para> <para> L'entier de type "identifiant de résultat" est utilisé par4 @@ -401,7 +408,8 @@ (voir plus loin). </para> <para> - Voir aussi : <function>ifx_connect</function>. + Voir aussi + <function>ifx_connect</function>. <example> <title> Afficher toutes les lignes de la table "ordres" sous la forme html @@ -503,7 +511,8 @@ suivant la configuration (voir plus loin). </para> <para> - Voir aussi <function>ifx_do</function>. + Voir aussi + <function>ifx_do</function>. </para> </refsect1> </refentry> @@ -523,8 +532,8 @@ </funcprototype> </funcsynopsis> <para> - <function>ifx_do</function> retourne <literal>TRUE</literal> en cas de succès, - <literal>FALSE</literal> en cas d'erreur. + <function>ifx_do</function> retourne &true; en cas de succès, + &false; en cas d'erreur. </para> <para> Exécute une requête qui a déjà été @@ -538,7 +547,8 @@ accès ultérieur par <function>ifx_affected_rows</function>. </para> <para> - Voir aussi : <function>ifx_prepare</function>. Il y a un exemple. + Voir aussi + <function>ifx_prepare</function> (Pour un exemple). </para> </refsect1> </refentry> @@ -559,8 +569,8 @@ </funcsynopsis> <para> <function>ifx_error</function> retourne le code d'erreur de la dernière - requête Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) - formaté comme suit : + requête Informix. Les codes d'erreur Informix (<constant>SQLSTATE</constant> + et <constant>SQLCODE</constant>) formaté comme suit : </para> <para> x [SQLSTATE = aa bbb SQLCODE=cccc] @@ -600,7 +610,8 @@ ou '<literal>N</literal>' (aucune donnée de retour). </para> <para> - Voir aussi: <function>ifx_errormsg</function>. + Voir aussi + <function>ifx_errormsg</function>. </para> </refsect1> </refentry> @@ -628,7 +639,8 @@ <parameter>errorcode</parameter>. </para> <para> - Voir aussi: <function>ifx_error</function>. + Voir aussi + <function>ifx_error</function>. </para> <informalexample> <programlisting role="php"> @@ -672,7 +684,8 @@ <function>ifx_prepare</function> pour limiter la taille des résultats. </para> <para> - Voir aussi : <function>ifx_num_rows</function>. + Voir aussi + <function>ifx_num_rows</function>. </para> <example> <title>Nombre de lignes affectées</title> @@ -767,7 +780,7 @@ </funcsynopsis> <para> <function>ifx_fetch_row</function> retourne un tableau associatif qui - contient la ligne retournée, ou <literal>FALSE</literal> s'il ne reste plus de + contient la ligne retournée, ou &false; s'il ne reste plus de lignes à lire, ou s'il a eu une erreur. </para> <para> @@ -777,7 +790,7 @@ <function>ifx_textasvarchar</function> ou <function>ifx_byteasvarchar</function>, et dans ce cas, les BLOBs seront retournés sous forme de chaîne. - <function>ifx_fetch_row</function> retourne <literal>FALSE</literal> + <function>ifx_fetch_row</function> retourne &false; en cas d'erreur. </para> <para> @@ -801,7 +814,7 @@ </para> <para> Les appels ultérieurs à <function>ifx_fetch_row</function> - retourneront la ligne suivante, ou <literal>FALSE</literal> s'il n'y a plus de ligne. + retourneront la ligne suivante, ou &false; s'il n'y a plus de ligne. </para> <example> <title>Exemple avec <function>ifx_fetch_row</function></title> @@ -855,7 +868,7 @@ </funcsynopsis> <para> <function>ifx_htmltbl_result</function> lit toutes les lignes d'un - tableau, et la met sous la forme d'un tableau HTML, ou <literal>FALSE</literal> en cas + tableau, et la met sous la forme d'un tableau HTML, ou &false; en cas d'erreur. </para> <para> @@ -902,7 +915,7 @@ <para> <function>ifx_fieldtypes</function> retourne un tableau associatif avec les noms des champs comme clés, et les types SQL comme valeur. En - cas d'erreur, retourne <literal>FALSE</literal>. + cas d'erreur, retourne &false;. </para> <example> <title>Nom de champs et type SQL.</title> @@ -939,7 +952,7 @@ <function>ifx_fieldproperties</function> retourne un tableau associatif avec les nom des champs comme clé, et les données de propriétés des champs comme valeur. - <function>ifx_fieldproperties</function> retourne <literal>FALSE</literal> en + <function>ifx_fieldproperties</function> retourne &false; en cas d'erreur. </para> <para> @@ -985,7 +998,7 @@ </funcsynopsis> <para> <function>ifx_num_fields</function> retourne le nombre de colonnes - dans la requête <parameter>result_id</parameter> ou <literal>FALSE</literal> en cas d'erreur. + dans la requête <parameter>result_id</parameter> ou &false; en cas d'erreur. </para> <para> Après avoir préparé ou exécuté une @@ -1032,7 +1045,7 @@ <para> <function>ifx_free_result</function> libère les ressources prises par le résultat <parameter>result_id</parameter>. - <function>ifx_free_result</function> retourne <literal>FALSE</literal> + <function>ifx_free_result</function> retourne &false; en cas d'erreur. </para> </refsect1> @@ -1072,8 +1085,8 @@ <para> <function>ifx_free_char</function> supprime l'objet char <parameter>bid</parameter>. <function>ifx_free_char</function> - retourne <literal>FALSE</literal> en cas d'erreur, - et sinon <literal>TRUE</literal>. + retourne &false; en cas d'erreur, + et sinon &true;. </para> </refsect1> </refentry> @@ -1096,8 +1109,8 @@ char repéré par son identifiant<parameter>bid</parameter>. <parameter>content</parameter> est une chaîne avec les nouvelles données. <function>ifx_update_char</function> retourne - <literal>FALSE</literal> en cas d'erreur, et sinon, - <literal>TRUE</literal>. + &false; en cas d'erreur, et sinon, + &true;. </para> </refsect1> </refentry> @@ -1150,7 +1163,7 @@ si mode = 1: pointeur vers un fichier. </para> <para> - <function>ifx_create_blob</function> retourne <literal>FALSE</literal> + <function>ifx_create_blob</function> retourne &false; en cas d'erreur, et sinon, un identifiant de BLOB. </para> </refsect1> @@ -1169,7 +1182,7 @@ </funcprototype> </funcsynopsis> <para> - <function>ifx_copy_blob</function> retourne <literal>FALSE</literal> en cas d'erreur, et + <function>ifx_copy_blob</function> retourne &false; en cas d'erreur, et sinon, l'identifiant du nouvel objet. </para> </refsect1> @@ -1190,8 +1203,8 @@ <para> <function>ifx_free_blob</function> supprime l'objet BLOB <parameter>bid</parameter>. - <function>ifx_free_blob</function> retourne <literal>FALSE</literal> - en cas d'erreur, et sinon <literal>TRUE</literal>. + <function>ifx_free_blob</function> retourne &false; + en cas d'erreur, et sinon &true;. </para> </refsect1> </refentry> @@ -1233,7 +1246,7 @@ repéré par sont identifiant <parameter>bid</parameter>. <parameter>content</parameter> est une chaîne contenant les nouvelles données. <function>ifx_update_blob</function> retourne - <literal>FALSE</literal> en cas d'erreur, et sinon, <literal>TRUE</literal>. + &false; en cas d'erreur, et sinon, &true;. </para> </refsect1> </refentry> @@ -1341,7 +1354,7 @@ 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des précédents. Vous pouvez aussi utiliser les constantes suivantes : IFX_LO_RDONLY, IFX_LO_WRONLY etc. <function>ifxus_create_slob</function> - retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + retourne &false; en cas d'erreur, et sinon, l'identifiant de l'objet SLOB. </para> </refsect1> @@ -1363,7 +1376,7 @@ <function>ifxus_free_slob</function> supprime un objet SLOB. <parameter>bid</parameter> est l'identifiant de l'objet SLOB. <function>ifxus_free_slob</function> retourne - <literal>FALSE</literal> en cas d'erreur, et sinon <literal>TRUE</literal>. + &false; en cas d'erreur, et sinon &true;. </para> </refsect1> </refentry> @@ -1383,8 +1396,8 @@ <para> <function>ifxus_close_slob</function> ferme l'objet SLOB représenté par son identifiant <parameter>bid</parameter>. - <function>ifxus_close_slob</function> retourne <literal>FALSE</literal> - en cas d'erreur, et sinon, <literal>TRUE</literal>. + <function>ifxus_close_slob</function> retourne &false; + en cas d'erreur, et sinon, &true;. </para> </refsect1> </refentry> @@ -1408,7 +1421,7 @@ valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des valeurs précédentes. - <function>ifxus_open_slob</function> retourne <literal>FALSE</literal> + <function>ifxus_open_slob</function> retourne &false; en cas d'erreur, et sinon, l'identifiant du nouvel objet. </para> </refsect1> @@ -1430,7 +1443,7 @@ <function>ifxus_tell_slob</function> retourne le fichier courant, ou la position courante d'un objet SLOB ouvert. <parameter>bid</parameter> est un identifiant d'objet SLOB. - <function>ifxus_tell_slob</function> retourne <literal>FALSE</literal> + <function>ifxus_tell_slob</function> retourne &false; en cas d'erreur, et sinon, la position du pointeur de fichier. </para> @@ -1457,7 +1470,7 @@ <parameter>bid</parameter> est un identifiant d'objet SLOB. Les modes valides sont : 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END et <parameter>offset</parameter> est un octet d'offset. - <function>ifxus_seek_slob</function> retourne <literal>FALSE</literal> en cas + <function>ifxus_seek_slob</function> retourne &false; en cas d'erreur, et sinon, la position du pointeur de fichier. </para> </refsect1> @@ -1481,7 +1494,7 @@ de l'objet SLOB <parameter>bid</parameter>. <parameter>bid</parameter> est un identifiant d'objet SLOB existant, et <parameter>nbytes</parameter> est le nombre d'octets à lire. - <function>ifxus_read_slob</function> retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + <function>ifxus_read_slob</function> retourne &false; en cas d'erreur, et sinon, une chaîne de caractères. </para> </refsect1> @@ -1505,7 +1518,7 @@ objet SLOB. <parameter>bid</parameter> est un identifiant d'objet SLOB et <parameter>content</parameter> sont les données à écrire. - <function>ifxus_write_slob</function> retourne <literal>FALSE</literal> + <function>ifxus_write_slob</function> retourne &false; en cas d'erreur, et sinon, le nombre d'octets écrits. </para> Index: phpdoc/fr/functions/image.xml diff -u phpdoc/fr/functions/image.xml:1.22 phpdoc/fr/functions/image.xml:1.23 --- phpdoc/fr/functions/image.xml:1.22 Fri Aug 10 04:08:19 2001 +++ phpdoc/fr/functions/image.xml Mon Nov 12 00:10:21 2001 @@ -1,2974 +1 @@ -<!-- $Revision: 1.22 $ --> -<reference id="ref.image"> - <title>Images</title> - <titleabbrev>Graphisme</titleabbrev> - <partintro> - <simpara> - Vous pouvez utiliser les fonctions PHP pour obtenir les - tailles des images aux formats <acronym>JPEG</acronym>, - <acronym>GIF</acronym>, <acronym>PNG</acronym> et - <acronym>SWF</acronym>, et si vous avez la librairie GD (disponible - à <ulink url="&url.gd;">&url.gd;</ulink>) vous pourrez aussi - créer et manipuler ces images. - </simpara> - <simpara> - Les formats des images que vous pourrez manipuler dépendent de la - version de GD que vous installerez, et de toute autre librairie - dont GD a besoin pour traiter à ces images. Les versions - antérieures à la version 1.6 supportent le - <acronym>GIF</acronym>, mais pas le <acronym>PNG</acronym>. - Pour les versions plus récentes, c'est le contraire. - </simpara> - <simpara> - Pour accéder aux images en <acronym>JPEG</acronym>, vous devez - installer la librairie jpeg-6b (disponible à - <ulink url="&url.jpeg;">&url.jpeg;</ulink>), puis, recompiler GD - pour qu'elle utilise jpeg-6b. Vous devrez aussi compiler PHP avec - <link linkend="install.configure.with-jpeg-dir"><option role="configure">--with-jpeg-dir=/path/to/jpeg-6b</option></link>. - </simpara> - <simpara> - Pour ajouter le support des polices Type 1, vous devez installer t1lib - (disponible à <ulink url="&url.t1lib;">&url.t1lib;</ulink>), puis ajouter - l'option <link linkend="install.configure.enable-t1lib"><option role="configure">--with-t1lib[=dir]</option></link>. - </simpara> - </partintro> - <refentry id="function.getimagesize"> - <refnamediv> - <refname>getimagesize</refname> - <refpurpose>Retourne la taille d'une image GIF, JPG ou PNG.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>getimagesize</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>array <parameter><optional>imageinfo</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>getimagesize</function> va déterminer la taille des images - de type <acronym>GIF</acronym>, <acronym>JPG</acronym>, - <acronym>PNG</acronym> ou <acronym>SWF</acronym> et en retourner - les dimensions avec le type d'image, et une chaîne type - "height/width", à placer dans une - balise <acronym>HTML</acronym> ou <sgmltag>IMG</sgmltag> normale. - </para> - <para> - <function>getimagesize</function> retourne un tableau de 4 éléments. - L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 - contient le type de l'image : 1 = <acronym>GIF</acronym>, 2 = JPG, 3 = PNG. L'index 3 contient la - chaîne à placer dans les balises HTML : - "height=xxx width=xxx". - <example> - <title><function>getimagesize</function></title> - <programlisting role="php"> -<?php - $size = getimagesize("img/flag.jpg"); -?> -<IMG SRC="img/flag.jpg" -<?php - echo $size[3]; -?>> - </programlisting> - </example> - </para> - <para> - <example> - <title><function>getimagesize</function> avec une URL</title> - <programlisting role="php"> -<?php - $size = getimagesize("http://www.php.net/gifs/logo.gif"); -?> - </programlisting> - </example> - </para> - <para> - Avec les images <acronym>JPEG</acronym>, deux en-têtes supplémentaires sont - retournés : <literal>channel</literal> et <literal>bits</literal>. - <literal>channel</literal> vaudra 3 avec les images RGB, et 4 avec les - images CMYK. <literal>bits</literal> est le nombre de bits de chaque couleur. - </para> - <para> - Si l'accès à <parameter>filename</parameter> est impossible, - ou si ce n'est pas une image valide, <function>getimagesize</function> - retournera <literal>NULL</literal> et générera une alerte. - </para> - <para> - Le paramètre optionnel <parameter>imageinfo</parameter> permet - d'extraire des informations supplémentaires du fichier image. - Actuellement, cette option va retourner différents marqueurs - <acronym>JPG</acronym> APP dans un tableau associatif. Certains programmes - utilisent ces marqueur APP pour préciser les informations dans - les balises HTML. Un marqueur commun est le marqueur APP13, décrit - à <ulink url="&url.iptc;">&url.iptc;</ulink>. Vous pouvez utiliser - la fonction <function>iptcparse</function> pour analyser ce marqueur, et - obtenir des informations intelligibles. - <example> - <title><function>getimagesize</function> qui retourne IPTC</title> - <programlisting role="php"> -<?php - $size = getimagesize("testimg.jpg",&$info); - if (isset($info["APP13"])) { - $iptc = iptcparse($info["APP13"]); - var_dump($iptc); - } -?> - </programlisting> - </example> - <note> - <simpara> - <function>getimagesize</function> ne requiert pas la bibliothèque GD. - </simpara> - </note> - <note> - <simpara> - Le support URL a été ajouté en PHP 4.0.5. - </simpara> - </note> - </para> - </refsect1> - </refentry> - <refentry id="function.imagealphablending"> - <refnamediv> - <refname>ImageAlphaBlending</refname> - <refpurpose>Modifie le mode de blending d'une image</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagealphablending</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>boolean <parameter>blendmode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagealphablending</function> fournit deux modes de dessins - des images en vraies couleurs (truecolors). En mode "blending", le canal - alpha de chaque couleur est fournie à chaque fonction de dessin, tel que - <function>imagesetpixel</function> peut déterminer sa transparence. GD va alors - automatiquement mixer la couleur à ce point, et stocker le résultat dans - l'image. Le pixel résultant est alors opaque. En mode non-mixant, la - couleur est copiée littéralement avec ses informations de canal alpha, - et remplace le pixel de destination. Le mixage n'est pas disponible - avec les images à palette. Si <parameter>blendmode</parameter> vaut - <literal>TRUE</literal>, alors le mode de mixage sera activé, sinon - il sera désactivé. - </para> - <note> - <para> - <function>imagealphablending</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagearc"> - <refnamediv> - <refname>ImageArc</refname> - <refpurpose>Dessine une ellipse partielle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagearc</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>s</parameter></paramdef> - <paramdef>int <parameter>e</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagearc</function> dessine une ellipse partielle, centrée sur - <parameter>cx</parameter>, <parameter>cy</parameter> (le coin en haut à - gauche est l'origine (0,0)) dans l'image référencée par - <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> spécifient la largeur et la hauteur de l'ellipse, - tandis que le début et la fin de l'arc sont donnés en - degrés, par les arguments <parameter>s</parameter> et - <parameter>e</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilledarc"> - <refnamediv> - <refname>imagefilledarc</refname> - <refpurpose>Dessine une ellipse partielle et la remplit</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledarc</function></funcdef> - <paramdef>int <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>s</parameter></paramdef> - <paramdef>int <parameter>e</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - <paramdef>int <parameter>style</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledarc</function> dessine une ellipse partielle, centrée - sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin supérieur gauche est (0, 0), dans l'image <parameter>im</parameter>. - <parameter>w</parameter> et <parameter>h</parameter> spécifient - respectivement la largeur et la hauteur de l'ellipse, tandis que les points - de début et de fin sont représentés par <parameter>s</parameter> et - <parameter>e</parameter>, en degrés. L'argument <parameter>style</parameter> - est un champ de bits, combiné avec l'opérateur OR : - <orderedlist> - <listitem><simpara><literal>IMG_ARC_PIE</literal></simpara></listitem> - <listitem><simpara><literal>IMG_ARC_CHORD</literal></simpara></listitem> - <listitem><simpara><literal>IMG_ARC_NOFILL</literal></simpara></listitem> - <listitem><simpara><literal>IMG_ARC_EDGED</literal></simpara></listitem> - </orderedlist> - <literal>IMG_ARC_PIE</literal> et <literal>IMG_ARC_CHORD</literal> sont - mutellemement exclusives; <literal>IMG_ARC_CHORD</literal> ne fait que - connecter les angles de début et de fin avec une ligne droite, tandis - que <literal>IMG_ARC_PIE</literal> produit une ligne courbe. - <literal>IMG_ARC_NOFILL</literal> indique que l'arc (ou corde) doit être - dessiné mais pas rempli. <literal>IMG_ARC_EDGED</literal>, utilisé conjointement - avec <literal>IMG_ARC_NOFILL</literal>, indique que les angles de - début et de fin doivent être connectés au centre. Cette fonction est - recommandée pour faire les graphiques de type camenbert. - </para> - <note> - <para> - <function>imagefilledarc</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imageellipse"> - <refnamediv> - <refname>ImageEllipse</refname> - <refpurpose>Dessine une ellipse</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imageellipse</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageellipse</function> dessine une ellipse centrée sur - le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin supérieur gauche est aux coordonnées (0,0). L'image - de dessin est <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> spécifient respectivement la largeur - et la hauteur de l'ellipse. La couleur de dessin de l'ellipse - est <parameter>color</parameter>. - </para> - <note> - <para> - <function>imageellipse</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagefilledellipse"> - <refnamediv> - <refname>ImageFilledEllipse</refname> - <refpurpose>Dessine une ellipse pleine</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledellipse</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledellipse</function> dessine une ellipse centrée sur - le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin supérieur gauche est aux coordonnées (0,0). L'image - de dessin est <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> spécifient respectivement la largeur - et la hauteur de l'ellipse. La couleur de remplissage de l'ellipse - est <parameter>color</parameter>. - </para> - <note> - <para> - <function>imagefilledellipse</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagechar"> - <refnamediv> - <refname>ImageChar</refname> - <refpurpose>Dessine un caractère horizontalement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagechar</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>c</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagechar</function> dessine le premier caractère de la chaîne - <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin - supérieur gauche placé à la position <parameter>x</parameter>,<parameter>y</parameter> - (le coin en haut à gauche est l'origine (0,0)) avec la couleur - <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police intégrée - sera utilisée (plus le chiffre est grand, plus grande est la police). - </para> - <para> - Voir aussi - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecharup"> - <refnamediv> - <refname>ImageCharUp</refname> - <refpurpose>Dessine un caractère verticalement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecharup</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>c</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecharup</function> dessine le premier caractère - de la chaîne <parameter>c</parameter> dans l'image - <parameter>id</parameter> avec le coin supérieur gauche - placé à la position (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin en haut à gauche est l'origine (0,0)), avec la couleur - <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police - intégrée sera utilisée (plus le chiffre est grand, - plus grande est la police). - </para> - <para> - Voir aussi - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorallocate"> - <refnamediv> - <refname>ImageColorAllocate</refname> - <refpurpose>Alloue une couleur pour une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorallocate</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorallocate</function> retourne un identifiant de couleur, - représentant la couleur composée avec les couleurs RGB - (<parameter>red</parameter>, <parameter>green</parameter>, - <parameter>blue</parameter>). L'argument <parameter>im</parameter> est - le résultat de la fonction <function>imagecreate</function>. - <function>imagecolorallocate</function> - doit être appelée pour créer chaque couleur - qui sera représentée par <parameter>im</parameter>. - <informalexample> - <programlisting role="php"> -<?php - $white = imagecolorallocate($im, 255,255,255); - $black = imagecolorallocate($im, 0,0,0); -?> - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolordeallocate"> - <refnamediv> - <refname>ImageColorDeAllocate</refname> - <refpurpose> - Désalloue une couleur pour une image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int - <function>imagecolordeallocate</function> - </funcdef> - <paramdef>resource - <parameter>im</parameter> - </paramdef> - <paramdef>int - <parameter>index</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolordeallocate</function> désalloue une couleur - précédemment allouée avec la fonction - <function>imagecolorallocate</function>. - <informalexample> - <programlisting role="php"> -<?php - $white = imagecolorallocate($im, 255, 255, 255); - imagecolordeallocate($im, $white); -?> - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorat"> - <refnamediv> - <refname>ImageColorAt</refname> - <refpurpose>Retourne l'index de la couleur d'un pixel donné.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorat</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorat</function> retourne l'index de la couleur du pixel situé - aux coordonnées (<parameter>x</parameter>, <parameter>y</parameter>), dans l'image - <parameter>im</parameter>. - </para> - <para> - Voir aussi - <function>imagecolorset</function> et - <function>imagecolorsforindex</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorclosestalpha"> - <refnamediv> - <refname>ImageColorClosestAlpha</refname> - <refpurpose> - Retourne la couleur la plus proche, en tenant compte du canal alpha - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorclosestalpha</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - <paramdef>int <parameter>alpha</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorclosestalpha</function> retourne l'index de la - couleur, dans la palette de l'image <parameter>im</parameter>, - la plus proche de la couleur spécifiée par les autres paramètres, - au format <acronym>RGB</acronym> et de canal alpha <parameter>alpha</parameter>. - </para> - <para> - Voir aussi <function>imagecolorexactalpha</function>. - </para> - <note> - <para> - <function>imagecolorclosestalpha</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecolorclosest"> - <refnamediv> - <refname>ImageColorClosest</refname> - <refpurpose> - Retourne l'index de la couleur la plus proche d'une couleur donnée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorclosest</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorclosest</function> retourne l'index de la couleur de la - palette qui est la plus proche de la valeur RGB passée. - </para> - <para> - La "distance" entre la couleur souhaitée et les couleurs de la palette est calculée - en considérant l'espace RGB comme un espace à 3 dimensions. - </para> - <para> - Voir aussi - <function>imagecolorexact</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorexact"> - <refnamediv> - <refname>ImageColorExact</refname> - <refpurpose>Retourne l'index de la couleur donnée.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorexact</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorexact</function> retourne l'index de la couleur - spécifiée dans la palette de l'image - <parameter>im</parameter>. - </para> - <para> - Si la couleur n'existe pas dans cette palette, <function>imagecolorexact</function> - retourne -1. - </para> - <para> - Voir aussi - <function>imagecolorclosest</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorexactalpha"> - <refnamediv> - <refname>ImageColorExactAlpha</refname> - <refpurpose>Retourne l'index d'une couleur avec son canal alpha</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorexactalpha</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - <paramdef>int <parameter>alpha</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorexactalpha</function> retourne l'index de - la couleur fournie au format <acronym>RGB</acronym> et son canal - alpha <parameter>alpha</parameter>, dans l'image <parameter>im</parameter>. - </para> - <para> - Si la couleur n'existe pas dans la palette de l'image, - <function>imagecolorexactalpha</function> retourne -1. - </para> - <para> - Voir aussi - <function>imagecolorclosestalpha</function>. - </para> - <note> - <para> - <function>imagecolorexactalpha</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecolorresolve"> - <refnamediv> - <refname>ImageColorResolve</refname> - <refpurpose> - Retourne l'index de la couleur donnée, ou la plus proche possible. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorresolve</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorresolve</function> retourne un index de couleur - à tous les coups. Soit il arrive à trouver la couleur - demandée dans la palette, soit il recherche la couleur la plus - proche. - </para> - <para> - Voir aussi - <function>imagecolorclosest</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorresolvealpha"> - <refnamediv> - <refname>ImageColorResolveAlpha</refname> - <refpurpose> - Retourne un index de couleur ou son alternative la plus proche, - y compris le canal alpha - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorresolvealpha</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - <paramdef>int <parameter>alpha</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorresolvealpha</function> retourne toujours un - index de couleur, disponible dans la palette de l'image - <parameter>im</parameter> : soit c'est la couleur exacte, - soit c'est la meilleure approximation. - </para> - <para> - Voir aussi - <function>imagecolorclosestalpha</function>. - </para> - <note> - <para> - <function>imagecolorresolvealpha</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagegammacorrect"> - <refnamediv> - <refname>ImageGammaCorrect</refname> - <refpurpose> - Applique une correction gamma à l'image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagegammacorrect</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>double - <parameter>inputgamma</parameter> - </paramdef> - <paramdef>double - <parameter>outputgamma</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagegammacorrect</function> applique une correction gamma - à l'image GD <parameter>im</parameter>. Le facteur d'entrée est - <parameter>inputgamma</parameter>, et le facteur de sortie est - <parameter>outputgamma</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorset"> - <refnamediv> - <refname>ImageColorSet</refname> - <refpurpose> - Change la couleur dans une palette à l'index donné. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>imagecolorset</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorset</function> permet d'attribuer à un index - d'une palette une couleur spécifique. C'est une fonction très - pratique pour effectuer du remplissage de couleur sans le faire - réellement. - </para> - <para> - Voir aussi - <function>imagecolorat</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorsforindex"> - <refnamediv> - <refname>ImageColorsForIndex</refname> - <refpurpose>Retourne la couleur associée à un index.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagecolorsforindex</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorsforindex</function> retourne un tableau associatif - avec les couleurs rouge (red) , vert (green), bleu (blue) qui contiennent - les valeurs de la couleur correspondante. - </para> - <para> - Voir aussi - <function>imagecolorat</function> et - <function>imagecolorexact</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorstotal"> - <refnamediv> - <refname>ImageColorsTotal</refname> - <refpurpose>Calcule le nombre de couleurs d'une palette.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorstotal</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorstotal</function> retourne le nombre de couleurs - de la palette. - </para> - <para> - Voir aussi - <function>imagecolorat</function> et - <function>imagecolorsforindex</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolortransparent"> - <refnamediv> - <refname>ImageColorTransparent</refname> - <refpurpose>Définit la couleur transparente.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolortransparent</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter><optional>col</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolortransparent</function> permet de choisir la couleur - transparente d'une image, et de lui donner la valeur de col. - <parameter>im</parameter> est un identifiant d'image, retourné - par <function>imagecreate</function> et - <parameter>col</parameter> est un identifiant de couleur - retourné par <function>imagecolorallocate</function>. - </para> - <para> - L'identifiant de la nouvelle (ou courante) couleur transparente est - retourné. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopy"> - <refnamediv> - <refname>ImageCopy</refname> - <refpurpose> - Copie une partie d'une image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int - <function>imagecopy</function> - </funcdef> - <paramdef>resource - <parameter>dst_im</parameter> - </paramdef> - <paramdef>resource - <parameter>src_im</parameter> - </paramdef> - <paramdef>int - <parameter>dst_x</parameter> - </paramdef> - <paramdef>int - <parameter>dst_y</parameter> - </paramdef> - <paramdef>int - <parameter>src_x</parameter> - </paramdef> - <paramdef>int - <parameter>src_y</parameter> - </paramdef> - <paramdef>int - <parameter>src_w</parameter> - </paramdef> - <paramdef>int - <parameter>src_h</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Copie une partie de l'image <parameter>src_im</parameter> sur l'image de - destination <parameter>dst_im</parameter>, en commençant aux coordonnées - <parameter>src_x</parameter>, <parameter>src_y</parameter> et sur la largeur - de <parameter>src_w</parameter> et la hauteur de <parameter>src_h</parameter>. - La portion ainsi définie sera copiée et placée aux - coordonnées <parameter>dst_x</parameter> et <parameter>dst_y</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopymerge"> - <refnamediv> - <refname>ImageCopyMerge</refname> - <refpurpose> - Copie et fusionne une partie d'une image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopymerge</function></funcdef> - <paramdef>resource <parameter>dst_im</parameter> </paramdef> - <paramdef>resource <parameter>src_im</parameter> </paramdef> - <paramdef>int <parameter>dst_x</parameter> </paramdef> - <paramdef>int <parameter>dst_y</parameter> </paramdef> - <paramdef>int <parameter>src_x</parameter> </paramdef> - <paramdef>int <parameter>src_y</parameter> </paramdef> - <paramdef>int <parameter>src_w</parameter> </paramdef> - <paramdef>int <parameter>src_h</parameter> </paramdef> - <paramdef>int <parameter>pct</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopymerge</function> copie une partie de - l'image <parameter>src_im</parameter> dans l'image de destination - <parameter>dst_im</parameter> en commençant aux coordonnées - (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec - la largeur <parameter>src_w</parameter> et la hauteur - <parameter>src_h</parameter>. La zone de l'image ainsi définie sera - copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), - dans l'image de destination. Les deux images seront fusionnées - suivant le paramètre <parameter>pct</parameter>, qui peut valoir de - 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est - faite, alors que si <parameter>pct</parameter> = 100, - <function>imagecopymerge</function> se comporte exactement comme - <function>imagecopy</function>. - </para> - <note> - <para> - <function>imagecopymerge</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecopymergegray"> - <refnamediv> - <refname>ImageCopyMergeGray</refname> - <refpurpose> - Copie et fusionne une partie d'une image en niveaux de gris - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopymergegray</function> </funcdef> - <paramdef>resource <parameter>dst_im</parameter> </paramdef> - <paramdef>resource <parameter>src_im</parameter> </paramdef> - <paramdef>int <parameter>dst_x</parameter> </paramdef> - <paramdef>int <parameter>dst_y</parameter> </paramdef> - <paramdef>int <parameter>src_x</parameter> </paramdef> - <paramdef>int <parameter>src_y</parameter> </paramdef> - <paramdef>int <parameter>src_w</parameter> </paramdef> - <paramdef>int <parameter>src_h</parameter> </paramdef> - <paramdef>int <parameter>pct</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopymergegray</function> copie une partie de - l'image <parameter>src_im</parameter> dans l'image de destination - <parameter>dst_im</parameter> commençant aux coordonnées - (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec - la largeur <parameter>src_w</parameter> et la hauteur - <parameter>src_h</parameter>. La zone de l'image ainsi définie sera - copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), - dans l'image de destination. Les deux images seront fusionnées - suivant le paramètre <parameter>pct</parameter>, qui peut valoir de - 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est - faite, alors que si <parameter>pct</parameter> = 100, - <function>imagecopymerge</function> se comporte exactement comme - <function>imagecopy</function>. - </para> - <para> - <function>imagecopymergegray</function> est identique à la fonction - <function>imagecopymerge</function>, hormis le fait que lors de la - fusion, le "hue" de l'image sera conservé grâce à la conversion - de la zone dans l'image de destination en gris, avant l'opération - de copie. - </para> - <note> - <para> - <function>imagecopymergegray</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecopyresized"> - <refnamediv> - <refname>ImageCopyResized</refname> - <refpurpose>Copie et redimensionne une partie d'une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopyresized</function></funcdef> - <paramdef>resource <parameter>dst_im</parameter></paramdef> - <paramdef>resource <parameter>src_im</parameter></paramdef> - <paramdef>int <parameter>dstX</parameter></paramdef> - <paramdef>int <parameter>dstY</parameter></paramdef> - <paramdef>int <parameter>srcX</parameter></paramdef> - <paramdef>int <parameter>srcY</parameter></paramdef> - <paramdef>int <parameter>dstW</parameter></paramdef> - <paramdef>int <parameter>dstH</parameter></paramdef> - <paramdef>int <parameter>srcW</parameter></paramdef> - <paramdef>int <parameter>srcH</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopyresized</function> copie une partie rectangulaire d'une image - dans une autre image de destination. <parameter>dst_im</parameter> est l'image - de destination, <parameter>src_im</parameter> est l'image source. Si les dimensions - de la source et de la destination ne sont pas égales, un - étirement adéquat est effectué pour faire correspondre - les deux. Les coordonnées fournies sont définies par rapport - au coin supérieur gauche. Cette fonction peut être - utilisée pour recopier des régions à l'intérieur - d'une même image, si <parameter>dst_im</parameter> et - <parameter>src_im</parameter> sont identiques : mais si les - régions se chevauchent, le résultat risque d'être - incohérent. - </para> - <para> - Voir aussi - <function>imagecopyresampled</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopyresampled"> - <refnamediv> - <refname>ImageCopyResampled</refname> - <refpurpose>Copie, redimensionne, rééchantillonne une image</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopyresampled</function></funcdef> - <paramdef>resource <parameter>dst_im</parameter></paramdef> - <paramdef>resource <parameter>src_im</parameter></paramdef> - <paramdef>int <parameter>dstX</parameter></paramdef> - <paramdef>int <parameter>dstY</parameter></paramdef> - <paramdef>int <parameter>srcX</parameter></paramdef> - <paramdef>int <parameter>srcY</parameter></paramdef> - <paramdef>int <parameter>dstW</parameter></paramdef> - <paramdef>int <parameter>dstH</parameter></paramdef> - <paramdef>int <parameter>srcW</parameter></paramdef> - <paramdef>int <parameter>srcH</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopyresampled</function> copie une zone - rectangulaire de l'image <parameter>src_im</parameter> vers - l'image <parameter>src_im</parameter>. Durant la copie, - la zone est rééchantillonnée de manière à conserver la clarté - de l'image durant une réduction. - <parameter>Dst_im</parameter> est l'image de destination, - <parameter>src_im</parameter> est l'image source. - Si les hauteurs et largeur des source et destination - diffèrent, l'image copiée sera étirée - de manière appropriée. - Les coordonnées sont celles du coin supérieur gauche. - <function>imagecopyresampled</function> peut servir à copier - des zones d'une image vers elle-même, mais si les régions se - chevauchent, les résultats sont imprévisibles. - </para> - <para> - Voir aussi - <function>imagecopyresized</function>. - </para> - <note> - <para> - <function>imagecopyresampled</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecreate"> - <refnamediv> - <refname>ImageCreate</refname> - <refpurpose>Crée une nouvelle image à palette.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreate</function></funcdef> - <paramdef>int <parameter>x_size</parameter></paramdef> - <paramdef>int <parameter>y_size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreate</function> retourne un identifiant d'image - représentant une image vide, de largeur <parameter>x_size</parameter> - et longueur <parameter>y_size</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromgif"> - <refnamediv> - <refname>imagecreatefromgif</refname> - <refpurpose> - Crée une nouvelle image à partir d'un fichier ou d'une URL. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromgif</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromgif</function> retourne un identifiant d'image qui - représente l'image obtenue à partir du fichier dont le nom est - donné. - </para> - <para> - <function>imagecreatefromgif</function> retourne une chaîne vide en - cas d'échec. Il va aussi retourner une erreur qui va afficher un - lien brisé dans un navigateur. Pour simplifier le débuggage, - utilisez le code suivant, qui retourne une erreur <acronym>GIF</acronym> : - <example> - <title> - Exemple de gestion des erreurs durant la création d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -<?php -function loadgif($imgname){ - $im = @imagecreatefromgif($imgname); /* Tentative d'ouverture */ - if ($im == "") { /* échec ? */ - $im = ImageCreate(150,30); /* Crée une image vide */ - $bgc = ImageColorAllocate($im,255,255,255); - $tc = ImageColorAllocate($im,0,0,0); - imagefilledrectangle($im,0,0,150,30,$bgc); - imagestring($im,1,5,5,"Erreur lors du chargement du fichier $imgname",$tc); - /* Affiche un message d'erreur */ - } - return $im; -} -?> - </programlisting> - </example> - <note> - <para> - Etant donné que toutes les fonctions de gestion des - <acronym>GIF</acronym> ont été supprimées de - la bibliothèque GD version 1.6, cette fonction n'est pas - disponible si vous utilisez cette version de la librairie. - </para> - </note> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatetruecolor"> - <refnamediv> - <refname>ImageCreateTrueColor</refname> - <refpurpose>Crée une nouvelle image en vraies couleurs</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatetruecolor</function></funcdef> - <paramdef>int <parameter>x_size</parameter></paramdef> - <paramdef>int <parameter>y_size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatetruecolor</function> retourne une ressource - représentant une image noire de largeur <parameter>x_size</parameter>, - et de hauteur <parameter>y_size</parameter>. - </para> - <note> - <para> - <function>imagecreatetruecolor</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagetruecolortopalette"> - <refnamediv> - <refname>ImageTrueColorToPalette</refname> - <refpurpose>Convertit une image en vraies couleurs en image à palette</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>imagetruecolortopalette</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>boolean <parameter>dither</parameter></paramdef> - <paramdef>int <parameter>ncolors</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagetruecolortopalette</function> convertit l'image - en vraies couleurs <parameter>im</parameter> en image à palette. - Le code de cette fonction est directement tiré de la librairie du - "Independent JPEG Group", qui est tout simplement génial. Le code a - été modifié pour préserver l'essentiel du canal alph dans la nouvelle - palette, en plus de conserver les couleurs du mieux possible. Mais - cela ne fonctionne pas toujours comme voulu. Il est alors préférable - de générer un résultat en vraies couleurs, ce qui a toujours le - meilleur rendu. - </para> - <para> - Si <parameter>dither</parameter> vaut <literal>TRUE</literal>, cela - indique que l'image doit être ditherée : l'image sera un peu plus - granuleuse, mais l'approximation des couleurs sera meilleure. - </para> - <para> - <parameter>ncolors</parameter> est le nombre maximal de couleurs dans la - palette finale. - </para> - <note> - <para> - <function>imagetruecolortopalette</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromjpeg"> - <refnamediv> - <refname>ImageCreateFromJPEG</refname> - <refpurpose> - Crée une nouvelle image <acronym>JPEG</acronym> - à partir d'un fichier ou d'une URL - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromjpeg</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromjpeg</function> retourne un identifiant d'image - représentant une image obtenue à partir du fichier - <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas - d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un - lien brisé dans un navigateur web. Pour faciliter le débuggage, - voici une erreur <acronym>JPEG</acronym>: - <example> - <title> - Exemple de gestion d'erreur lors de la création d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -<?php -function loadjpeg($imgname) { - $im = @imagecreatefromjpeg($imgname); /* Tentative d'ouverture */ - if (!$im) { /* Vérification */ - $im = imagecreate(150, 30); /* Création d'une image blanche */ - $bgc = imagecolorallocate($im, 255, 255, 255); - $tc = imagecolorallocate($im, 0, 0, 0); - imagefilledrectangle($im, 0, 0, 150, 30, $bgc); -// Affichage d'un message d'erreur - imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); - } - return $im; -} -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefrompng"> - <refnamediv> - <refname>ImageCreateFromPNG</refname> - <refpurpose> - Crée une nouvelle image <acronym>PNG</acronym> à - partir d'un fichier ou d'une URL - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefrompng</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefrompng</function> retourne un identifiant d'image - représentant une image obtenue à partir du fichier - <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas - d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un - lien brisé dans un navigateur web. Pour faciliter le débuggage, - voici une erreur <acronym>PNG</acronym>: - <example> - <title> - Exemple de gestion d'erreur lors de la création d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -<?php -function LoadPNG($imgname) { - $im = @imagecreatefrompng($imgname); /* Tentative d'ouverture */ - if (!$im) { /* Vérification */ - $im = imagecreate(150, 30); /* Création d'une image blanche */ - $bgc = imagecolorallocate($im, 255, 255, 255); - $tc = imagecolorallocate($im, 0, 0, 0); - imagefilledrectangle($im, 0, 0, 150, 30, $bgc); - /* Affichage d'un message d'erreur */ - imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); - } - return $im; -} -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromwbmp"> - <refnamediv> - <refname>ImageCreateFromWBMP</refname> - <refpurpose>Crée une image depuis un fichier WBMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromwbmp</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromwbmp</function> retourne une ressource d'image - PHP, représentant l'image <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromwbmp</function> retourne une chaîne vide en - cas d'erreur. Il retourne aussi un message d'erreur qui s'affiche - comme un lien mort dans un navigateur. Pour aider au débuggage, - l'exemple suivant va produire une erreur <acronym>WBMP</acronym>: - <example> - <title> - Exemple de gestion des erreurs durant la création d'une image - WBMP (gracieusement proposé par vic@zymsys.com) - </title> - <programlisting role="php"> -function loadwbmp($imgname) { - $im = @imagecreatefromwbmp($imgname); /* Tentative d'ouverture */ - if (!$im) { /* Vérification que cela s'est bien passé */ - $im = imagecreate(20, 20); /* Crée une image blanche */ - $bgc = imagecolorallocate($im, 255, 255, 255); - $tc = imagecolorallocate($im, 0, 0, 0); - imagefilledrectangle($im, 0, 0, 10, 10, $bgc); -// Affiche le message d'erreur - imagestring($im, 1, 5, 5, "Erreur de chargement de $imgname", $tc); - } - return $im; -} - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromstring"> - <refnamediv> - <refname>ImageCreateFromString</refname> - <refpurpose>Crée une image à partir d'une chaîne</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromstring</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromstring</function> retourne un identifiant - d'image représentant la chaîne <parameter>string</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagedashedline"> - <refnamediv> - <refname>ImageDashedLine</refname> - <refpurpose>Dessine une ligne pointillée.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagedashedline</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagedashedline</function> dessine une ligne pointillée - entre les points (<parameter>x1</parameter>,<parameter>y1</parameter>) - et (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin - supérieur droit est l'origine (0,0)) dans l'image - <parameter>im</parameter>, avec la couleur <parameter>col</parameter>. - </para> - <para> - Voir aussi <function>imageline</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagedestroy"> - <refnamediv> - <refname>ImageDestroy</refname> - <refpurpose>détruit une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagedestroy</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagedestroy</function> libère toute la mémoire - associée à l'image <parameter>im</parameter>. - <parameter>im</parameter> est un identifiant d'image valide retourné - par <function>imagecreate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefill"> - <refnamediv> - <refname>ImageFill</refname> - <refpurpose>Remplit.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefill</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefill</function> effectue un remplissage avec la couleur - <parameter>col</parameter>, dans l'image <parameter>im</parameter>, - à partir du point de coordonnées (<parameter>x</parameter>, - <parameter>y</parameter>) (le coin supérieur gauche est - l'origine (0,0)). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilledpolygon"> - <refnamediv> - <refname>ImageFilledPolygon</refname> - <refpurpose>Dessine un polygone rempli.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledpolygon</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>array <parameter>points</parameter></paramdef> - <paramdef>int <parameter>num_points</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledpolygon</function> dessine un polygone rempli dans l'image - <parameter>im</parameter>. <parameter>points</parameter> est un tableau PHP qui - contient les sommets des polygones sous la forme :. points[0] = x0, - points[1] = y0, points[2] = x1, points[3] = y1, etc. <parameter>num_points</parameter> - est le nombre total de sommets. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilledrectangle"> - <refnamediv> - <refname>ImageFilledRectangle</refname> - <refpurpose>Dessine un rectangle rempli.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledrectangle</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledrectangle</function> dessine un rectangle de - couleur <parameter>col</parameter> dans l'image <parameter>im</parameter>, - en commençant par le sommet supérieur gauche (<parameter>x1</parameter>, - <parameter>y1</parameter>) et finissant au sommet inférieur droit - (<parameter>x2</parameter>, <parameter>y2</parameter>). Le coin supérieur - gauche est l'origine (0, 0). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilltoborder"> - <refnamediv> - <refname>ImageFillToBorder</refname> - <refpurpose>Remplit avec une région avec une couleur spécifique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilltoborder</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>border</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilltoborder</function> remplit avec la couleur <parameter>col</parameter> - toute la région à l'intérieur de la région limitée par la couleur - <parameter>border</parameter>. Le point de départ est - (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin supérieur gauche est l'origine (0,0)). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefontheight"> - <refnamediv> - <refname>ImageFontHeight</refname> - <refpurpose>Retourne la hauteur de la police.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefontheight</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefontheight</function> retourne la hauteur de la police - <parameter>font</parameter> en pixels. - </para> - <para> - Voir aussi - <function>imagefontwidth</function> et - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefontwidth"> - <refnamediv> - <refname>ImageFontWidth</refname> - <refpurpose>Retourne la largeur de la police.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefontwidth</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefontwidth</function> retourne la largeur de la police - <parameter>font</parameter> en pixels. - </para> - <para> - Voir aussi - <function>imagefontheight</function> et - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagegif"> - <refnamediv> - <refname>ImageGif</refname> - <refpurpose>Envoie une image GIF vers un navigateur ou un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagegif</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagegif</function> crée un fichier image <acronym>GIF</acronym> avec le nom - <parameter>filename</parameter> d'après l'image <parameter>im</parameter>. - L'argument <parameter>im</parameter> est un identifiant valide retourné par la - fonction <function>imagecreate</function>. - </para> - <para> - Le format de l'image sera GIF87a, à moins que l'image n'ait une couleur transparente - (mise en place grâce à la fonction <function>imagecolortransparent</function>)), - ce qui fera qu'elle sera au format GIF89a. - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement à la sortie standard. En envoyant une en-tête de type - <literal>image/gifcontent-type</literal> , (grâce à la fonction - <function>header</function>), vous pouvez créer des images avec - des scripts PHP. - <note> - <para> - Etant donné que toutes les fonctions <acronym>GIF</acronym> ont été - supprimées de la bibliothèque GD version 1.6, cette fonction - ne sera pas accessible si vous avez cette version de la librairie. - </para> - <para> - Le code suivant vous permet d'écrire des scripts PHP plus portables : - le type de GD est automatiquement détecté. Il remplace la - séquence <literal>Header("Content-type: image/gif"); ImageGif($im);</literal> - par un code plus souple : - <informalexample> - <programlisting role="php"> -<?php - if (function_exists("imagegif")) { - header("Content-type: image/gif"); - imagegif($im); - } - elseif (function_exists("imageJpeg")) { - header("Content-type: image/jpeg"); - imagejpeg($im, "", 0.5); - } - elseif (function_exists("imagePng")) { - header("Content-type: image/png"); - imagepng($im); - } elseif (function_exists("imagewbmp")) { - header("Content-type: image/vnd.wap.wbmp"); - imagewbmp($im); - } else { - die("Pas de support graphique avec PHP sur ce serveur"); - } -?> - </programlisting> - </informalexample> - </para> - </note> - <note> - <para> - En PHP 4, à partir de la version 4.0.2, vous pouvez utiliser la fonction - <function>imagetypes</function> à la place de - <function>function_exists</function> pour vérifier que certains - formats d'images sont supportés : - <informalexample> - <programlisting role="php"> -<?php - if (function_exists("imagegif")) { - header("Content-type: image/gif"); - imagegif($im); - } - elseif (function_exists("imageJpeg")) { - header("Content-type: image/jpeg"); - imagejpeg($im, "", 0.5); - } - elseif (function_exists("imagePng")) { - header("Content-type: image/png"); - imagepng($im); - } elseif (function_exists("imagewbmp")) { - header("Content-type: image/vnd.wap.wbmp"); - imagewbmp($im); - } else { - die("Pas de support graphique avec PHP sur ce serveur"); - } -?> - </programlisting> - </informalexample> - </para> - </note> - </para> - <para> - Voir aussi <function>imagepng</function>, <function>imagewbmp</function>, - <function>imagejpeg</function>, <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepng"> - <refnamediv> - <refname>ImagePNG</refname> - <refpurpose> - Envoie une image PNG vers un navigateur ou un fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepng</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string <parameter><optional>filename</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepng</function> envoie l'image GD (<parameter>im</parameter>) - au format <acronym>PNG</acronym> sur la sortie standard (typiquement, - le navigateur web), ou si <parameter>filename</parameter> est fourni, - l'envoie dans un fichier. - <informalexample> - <programlisting role="php"> -<?php - $im = imagecreatefrompng("test.png"); - imagepng($im); -?> - </programlisting> - </informalexample> - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement à la sortie standard. En envoyant une image de type - <literal>image/png content-type</literal> (grâce à la fonction - <function>header</function>), vous pouvez créer des images - <acronym>PNG</acronym> avec des scripts PHP. - </para> - <para> - Voir aussi <function>imagegif</function>, <function>imagewbmp</function>, - <function>imagejpeg</function>, <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagejpeg"> - <refnamediv> - <refname>ImageJPEG</refname> - <refpurpose> - Envoie une image JPEG vers un navigateur ou un fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagejpeg</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string - <parameter><optional>filename</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>quality</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagejpeg</function> envoie l'image GD (<parameter>im</parameter>) - au format <acronym>JPEG</acronym> sur la sortie standard (typiquement, - le navigateur web), ou si <parameter>filename</parameter> est fourni, - l'envoie dans un fichier. <parameter>im</parameter> a été - créé par <function>imagecreate</function>. - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement à la sortie standard. En envoyant une image de type - <literal>image/jpeg content-type</literal> (grâce à la fonction - <function>header</function>), vous pouvez créer des images - <acronym>JPEG</acronym> avec des scripts PHP. - </para> - <note> - <para> - Le support <acronym>JPEG</acronym> n'est disponible que si PHP est compilé - avec GD-1.8 ou plus récent. - </para> - </note> - <para> - <parameter>quality</parameter> est optionnel, et prend des valeurs - entières de 0 (pire qualité, petit fichier) et 100 (meilleure qualité, - gros fichier). Par défaut, la valeur est à 100. - </para> - <para> - Voir aussi - <function>imagepng</function>, - <function>imagewbmp</function>, - <function>imagegif</function> et - <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagewbmp"> - <refnamediv> - <refname>ImageWBMP</refname> - <refpurpose>Affiche une image WBMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagewbmp</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string - <parameter><optional>filename</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagewbmp</function> crée l'image <acronym>WBMP</acronym> - dans le fichier <parameter>filename</parameter>, à partir de l'image - <parameter>im</parameter>. Le paramètre <parameter>im</parameter> - a été créé avec la fonction <function>imagecreate</function>. - </para> - <para> - <parameter>filename</parameter> est optionnel, et s'il est omis, - l'image sera envoyée directement au client. En plaçant l'en-tête - <acronym>image/vnd.wap.wbmp</acronym>, dans le champs "content-type", - vous pourrez afficher une image <acronym>WBMP</acronym>. - <note> - <para> - Le support WBMP n'est disponible que si PHP a été compilé - avec GD-1.8 ou plus récent. - </para> - </note> - </para> - <para> - Voir aussi - <function>imagepng</function>, - <function>imagegif</function>, - <function>imagejpeg</function> et - <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imageinterlace"> - <refnamediv> - <refname>ImageInterlace</refname> - <refpurpose>Active ou désactive l'entrelacement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imageinterlace</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter><optional>interlace</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageinterlace</function> active ou désactive le bit d'entrelacement. - Si l'entrelacement est à 1, l'image <parameter>im</parameter> sera - interlacée, et sinon, elle ne le sera pas. - </para> - <para> - <function>imageinterlace</function> retourne l'état courant - d'entrelacement de l'image. - </para> - </refsect1> - </refentry> - <refentry id="function.imageline"> - <refnamediv> - <refname>ImageLine</refname> - <refpurpose>Dessine une ligne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imageline</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageline</function> dessine une ligne depuis le point - (<parameter>x1</parameter>,<parameter>y1</parameter>) jusqu'au point - (<parameter>x2</parameter>,<parameter>y2</parameter>) - (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter> - et avec la couleur <parameter>col</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imageloadfont"> - <refnamediv> - <refname>ImageLoadFont</refname> - <refpurpose>Charge une nouvelle police.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imageloadfont</function></funcdef> - <paramdef>string <parameter>file</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageloadfont</function> charge une nouvelle police utilisateur et - retourne un identifiant sur cette police. Cet identifiant sera - toujours supérieur à 5, pour éviter les - conflits avec les polices standard PHP. - </para> - <para> - Le format des polices dépend actuellement du système - d'exploitation. Ce qui signifie qu'il vous faut générer - des fichiers de polices pour la machine qui fait tourner PHP. - </para> - <para> - <table> - <title>Format de fichier de police.</title> - <tgroup cols="3"> - <thead> - <row> - <entry>Position</entry> - <entry>Type de données C</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Octets 0-3</entry> - <entry>int</entry> - <entry>Nombre de caractères de la police</entry> - </row> - <row> - <entry>Octets 4-7</entry> - <entry>int</entry> - <entry> - Valeur du premier caractère de la police (souvent 32 pour espace) - </entry> - </row> - <row> - <entry>Octets 8-11</entry> - <entry>int</entry> - <entry>Largeur en pixels des caractères</entry> - </row> - <row> - <entry>Octets 12-15</entry> - <entry>int</entry> - <entry>Hauteur en pixels des caractères</entry> - </row> - <row> - <entry>Octets 16-</entry> - <entry>char</entry> - <entry> - Tableau avec les données des caractères, un octet par pixel pour chaque - caractère, avec un total de (nombre_caractères*largeur*hauteur) octets. - </entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - Voir aussi - <function>imagefontwidth</function> et - <function>imagefontheight</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepolygon"> - <refnamediv> - <refname>ImagePolygon</refname> - <refpurpose>Dessine un polygone.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepolygon</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>array <parameter>points</parameter></paramdef> - <paramdef>int <parameter>num_points</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepolygon</function> dessine un polygone dans l'image - <parameter>im</parameter>. <parameter>points</parameter> est un tableau - PHP qui contient les sommets du polygone sous la forme : points[0] = x0, - points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points est le - nombre de sommets. - </para> - <para> - Voir aussi <function>imagecreate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsbbox"> - <refnamediv> - <refname>ImagePSBBox</refname> - <refpurpose> - Retourne le rectangle entourant un texte et dessiné avec une - police PostScript Type1. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagepsbbox</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>space</parameter></paramdef> - <paramdef>int <parameter>width</parameter></paramdef> - <paramdef>float <parameter>angle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>size</parameter> est exprimé en pixels. - </para> - <para> - <parameter>space</parameter> permet de changer la valeur par - défaut du charactère espace. Cette valeur est ajoutée - lors des dessins, et donc, peut être négative. - </para> - <para> - <parameter>tightness</parameter> permet de contrôler la - quantité d'espace entre les caractères. Cette quantité - est ajoutée lors des dessins, et peut donc être négative. - </para> - <para> - <parameter>angle</parameter> est en degrés. - </para> - <para> - Les paramètres <parameter>space</parameter> et - <parameter>tightness</parameter> sont exprimés en unité - d'espacement de caractères, avec 1 unité vaut 1/1000 d'un - em carré (NDT : kesako?). - </para> - <para> - Les paramètres <parameter>space</parameter>, - <parameter>tightness</parameter> et <parameter>angle</parameter> sont optionnels. - </para> - <para> - Le rectangle entourant est calculé en utilisant les informations - disponibles sur les tailles de caractères, et, malheureusement, - il a tendance à être légèrement différent - du résultat réel final. Si l'angle est de 0 degré, - vous pouvez-vous attendre à avoir besoin d'un rectangle d'au moins - un pixel plus grand dans toutes les directions. - </para> - <para> - <function>imagepsbbox</function> retourne un tableau contenant les - éléments suivants : - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Abscisse inférieure gauche</entry> - </row> - <row> - <entry>1</entry> - <entry>Ordonnée inférieure gauche</entry> - </row> - <row> - <entry>2</entry> - <entry>Abscisse supérieure droite</entry> - </row> - <row> - <entry>3</entry> - <entry>Ordonnée supérieure droite</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - <para> - Voir aussi <function>imagepstext</function>. - </para> - </refsect1> - </refentry> - <!-- The function in t1lib which this function uses seems to be buggy... - Currently, just comment out everywhere in the docs and source until time - permits to find a solution. - <refentry id="function.imagepscopyfont"> - <refnamediv> - <refname>imagepscopyfont</refname> - <refpurpose> - Fait une copie d'une police chargée pour modification ultérieure. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepscopyfont</function></funcdef> - <paramdef>int <parameter>fontindex</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Utilisez cette fonction si vous devez faire des modifications dans une polie, comme - par exemple l'extension ou la condensation, ou encore, modifier son vecteur - d'encodage, tout en conservant l'original. Notez que la police que vous copiez - doit être obtenue par <function>imagepsloadfont</function>, et non pas une police - qui a elle-même été copiée. Vous pouvez aussi faire des modifications avant de - la copier. - </para> - <para> - Si vous utilisez cette fonction, vous <emphasis>DEVEZ</emphasis> libérer les polices - obtenues vous même, et dans l'ordre inverse. Sinon, votre script sera - <emphasis>suspendu</emphasis>. - </para> - <para> - Si tout a bien été fait, un index valide de police sera retourné, et pourra être - utilisé ultérieurement. Sinon, la fonction retournera <literal>FALSE</literal>, et affichera un - message décrivant l'erreur. - </para> - <para> - Voir aussi <function>imageploadpsfont</function>. - </para> - </refsect1> - </refentry> - --> - <refentry id="function.imagepsencodefont"> - <refnamediv> - <refname>ImagePSEncodeFont</refname> - <refpurpose> - Change le codage vectoriel d'un caractère dans une police. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepsencodefont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>string <parameter>encodingfile</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepsencodefont</function> charge le codage vectoriel d'un - caractère depuis un fichier et change le codage vectoriel de la - police correspondante. Etant donné que les polices PostScript ne - disposent pas des caractères au-delà de 127, vous aurez - sûrement besoin de les changer si vous utilisez une autre langue que - l'anglais. Le format exact est décrit dans la documentation T1libs. - T1lib est disponible en deux formes : IsoLatin1.enc et IsoLatin2.enc. - </para> - <para> - Si vous commencez à utiliser cette fonction régulièrement, - une meilleure solution est de définir un encodage, et de l'utiliser - avec set ps.default_encoding dans <link linkend="configuration.file">le fichier - de configuration</link> pour utiliser par défaut l'encodage correct. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsfreefont"> - <refnamediv> - <refname>ImagePSFreeFont</refname> - <refpurpose> - Libère la mémoire occupée par une police PostScript Type 1. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>imagepsfreefont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Voir aussi - <function>imagepsloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsloadfont"> - <refnamediv> - <refname>ImagePSLoadFont</refname> - <refpurpose>Charge une police PostScript Type 1 depuis un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagepsloadfont</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Au cas où tout a bien marché, un index de police - va être retourné, et pourra être utilisé - pour des opérations ultérieures. Sinon, la fonction - retourne <literal>FALSE</literal> et affiche un message décrivant - ce qui est erroné. - </para> - <para> - <programlisting role="php"> -<?php - header("Content-type: image/jpeg"); - $im = imagecreate(350, 45); - $noir = imagecolorallocate($im, 0, 0, 0); - $Blanc = imagecolorallocate($im, 255, 255, 255); - $font = imagepsloadfont("bchbi.pfb"); - imagepstext($im, "Test ... Ca marche!", $font, 32, $white, $black, 32, 32); - imagepsfreefont($font); - imagejpeg($im, ""); - imagedestroy ($im); -?< - </programlisting> - </para> - <para> - Voir aussi - <function>imagepsfreefont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsextendfont"> - <refnamediv> - <refname>ImagePsExtendFont</refname> - <refpurpose> - Etend ou condense une police de caractères - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>imagepsextendfont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>double <parameter>extend</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepsextendfont</function> étend ou condense la police - de caractères <parameter>font</parameter>. Si la valeur de - <parameter>extend</parameter> est inférieure à 1, ce sera une - condensation. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsslantfont"> - <refnamediv> - <refname>ImagePsSlantFont</refname> - <refpurpose> - Incline une police de caractères - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>imagepsslantfont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>double <parameter>slant</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepsslantfont</function> met en italique - la police de caractères <parameter>font</parameter> avec - le coefficient <parameter>slant</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepstext"> - <refnamediv> - <refname>ImagePSText</refname> - <refpurpose>Dessine un texte sur une image avec une police PostScript Type1.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagepstext</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>foreground</parameter></paramdef> - <paramdef>int <parameter>background</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter> - <optional>space</optional></parameter></paramdef> - <paramdef>int <parameter> - <optional>tightness</optional></parameter></paramdef> - <paramdef>float <parameter> - <optional>angle</optional></parameter></paramdef> - <paramdef>int <parameter> - <optional>antialias_steps</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>size</parameter> est exprimé en pixels. - </para> - <para> - <parameter>foreground</parameter> est la couleur dans laquelle le texte va - être dessiné. <parameter>background</parameter> est la couleur d'anti aliasing. - Aucun pixel avec la couleur <parameter>background</parameter> n'est dessiné, ce - qui fait que l'arrière-plan n'a pas besoin d'être dans une couleur fixe. - </para> - <para> - Les coordonnées données (<parameter>x</parameter>, - <parameter>y</parameter>) définissent l'origine du premier - caractère (grossièrement, le coin inférieur - gauche du caractère). Ceci est différent de la fonction - <function>imagestring</function>, où (x, y) définissait le - coin supérieur gauche du premier caractère. Reportez-vous - à la documentation PostScript pour avoir des détails à - propos des polices et de leurs tailles. - </para> - <para> - <parameter>space</parameter> permet de changer la taille par défaut - du caractère d'espacement. Cette valeur peut être négative. - </para> - <para> - <parameter>tightness</parameter> permet de contrôler la quantité - d'espace entre deux caractères. Cette valeur peut être - négative. - </para> - <para> - <parameter>angle</parameter> est en degrés. - </para> - <para> - <parameter>antialias_steps</parameter> permet de contrôler le nombre de couleurs - du texte anti-aliasé. Les valeurs autorisées sont 4 et 16. 16 est recommandé pour - les polices de moins de 20 pixels, car l'effet est alors visible. Avec les - tailles plus grandes, utilisez de préférence 4, qui est moins gourmande en - ressources. - </para> - <para> - Les paramètres <parameter>space</parameter> et <parameter>tightness</parameter> - sont exprimés en unité d'espaces caractère, ce qui vaut 1/1000ème d'un em-carré - ( ? ? ?). - </para> - <para> - Les paramètres <parameter>space</parameter>, <parameter>tightness</parameter>, - <parameter>angle</parameter> et <parameter>antialias</parameter> sont optionnels. - </para> - <para> - <function>imagepstext</function> retourne un tableau contenant les - éléments suivants : - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Abscisse inférieure gauche</entry> - </row> - <row> - <entry>1</entry> - <entry>Ordonnée inférieure gauche</entry> - </row> - <row> - <entry>2</entry> - <entry>Abscisse supérieure droite</entry> - </row> - <row> - <entry>3</entry> - <entry>Ordonnée supérieure droite</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - <para> - Voir aussi <function>imagepsbbox</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagerectangle"> - <refnamediv> - <refname>ImageRectangle</refname> - <refpurpose>Dessine un rectangle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagerectangle</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagerectangle</function> dessine un rectangle dans la couleur - <parameter>col</parameter>, dans l'image <parameter>im</parameter>, et en - commençant au point supérieur gauche (<parameter>x1</parameter>, - <parameter>y1</parameter>), et en finissant au point inférieur droit - (<parameter>x2</parameter>,<parameter>y2</parameter>). Le coin supérieur - gauche est l'origine (0,0). - </para> - </refsect1> - </refentry> - <refentry id="function.imagesetpixel"> - <refnamediv> - <refname>ImageSetPixel</refname> - <refpurpose>Dessine un pixel.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesetpixel</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesetpixel</function> dessine un pixel au point - (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter>, - et avec la couleur <parameter>col</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagesetbrush"> - <refnamediv> - <refname>imagesetbrush</refname> - <refpurpose>Modifie la brosse pour le dessin des lignes</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesetbrush</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>brush</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesetbrush</function> remplace la brosse courante - pour le dessin des lignes par <parameter>brush</parameter>. - Cette brosse sera alors utilisée avec les fonctions - <function>imageline</function> et <function>imagepolygon</function>. - </para> - <note> - <para> - Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, - mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser - les options IMG_COLOR_BRUSHED et IMG_COLOR_STYLEDBRUSHED des fonctions - <function>imageline</function> et <function>imagepolygon</function>, - avant d'avoir créé une nouvelle brosse. - </para> - </note> - <note> - <para> - <function>imagesetbrush</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagesettile"> - <refnamediv> - <refname>ImageSetTile</refname> - <refpurpose>Modifie l'image utilisée pour le carrelage</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesettile</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>tile</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesettile</function> remplace l'image de - carrelage courante par l'image <parameter>tile</parameter>, - à utiliser dans tous les remplissages (comme avec les fonctions - <function>imagefill</function> et <function>imagefilledpolygon</function>) - lors des remplissages avec l'option <literal>IMG_COLOR_TILED</literal>. - </para> - <para> - Une image de carrelage est une image utilisée pour remplir une zone, - de manière répétitive. N'importe quelle image GD peut servir d'image de - remplissage. L'utilisation de la couleur transparente (gérée avec - la fonction <function>imagecolortransparent</function>) permet à certaines - zones d'apparaître à travers le carrelage. - </para> - <note> - <para> - Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, - mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser - l'option <literal>IMG_COLOR_TILED</literal> des fonctions - <function>imagefill</function> et <function>imagefilledpolygon</function>, - avant d'avoir créé une nouvelle brosse. - </para> - </note> - <note> - <para> - <function>imagesettile</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagesetthickness"> - <refnamediv> - <refname>ImageSetThickness</refname> - <refpurpose>Modifie l'épaisseur d'un trait</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>imagesetthickness</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>thickness</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesetthickness</function> modifie l'épaisseur - du trait des lignes de l'image <parameter>im</parameter>. Cette - épaisseur intervient dans les dessins de polygones, ellipses, - cercles, rectangles, etc... <parameter>thickness</parameter> - est en pixels. - </para> - <note> - <para> - <function>imagesetthickness</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagestring"> - <refnamediv> - <refname>ImageString</refname> - <refpurpose>Dessine une chaîne horizontale.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagestring</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>s</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagestring</function> dessine une la chaîne sur une ligne - horizontale, dans l'image <parameter>im</parameter>, aux coordonnées - (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur - gauche est l'origine (0,0)) dans la couleur <parameter>col</parameter>. - Si l'argument de police vaut 1, 2, 3, 4 ou 5, une des polices par défaut sera - utilisée). - </para> - <para> - Voir aussi <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagestringup"> - <refnamediv> - <refname>ImageStringUp</refname> - <refpurpose>Dessine une chaîne verticale.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagestringup</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>s</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagestringup</function> dessine une chaîne sur une ligne - verticale dans l'image <parameter>im</parameter> aux coordonnées - (<parameter>x</parameter>, <parameter>y</parameter>) (l'origine est le coin - supérieur gauche (0,0)) dans la couleur <parameter>col</parameter>. - Si la police utilisée est 1, 2, 3, 4 ou 5, une police par défaut - sera utilisée. - </para> - <para> - Voir aussi <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagesx"> - <refnamediv> - <refname>ImageSX</refname> - <refpurpose>Retourne la largeur d'une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesx</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesx</function> retourne la largeur de l'image référencée par - <parameter>im</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagesy</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagesy"> - <refnamediv> - <refname>ImageSY</refname> - <refpurpose>Retourne la hauteur de l'image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesy</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesy</function> retourne la hauteur de l'image référencée par - <parameter>im</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagesx</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagettfbbox"> - <refnamediv> - <refname>ImageTTFBBox</refname> - <refpurpose>Retourne le rectangle entourant un texte et dessiné avec une police TrueType.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagettfbbox</function></funcdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>angle</parameter></paramdef> - <paramdef>string <parameter>fontfile</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagettfbbox</function> calcule et retourne le rectangle entourant - le texte <parameter>text</parameter>, écrit avec une police truetype. - <variablelist> - <varlistentry> - <term> - <parameter>text</parameter> - </term> - <listitem> - <simpara> - La chaîne à mesurer. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>size</parameter> - </term> - <listitem> - <simpara> - La taille de la police en pixel. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>fontfile</parameter> - </term> - <listitem> - <simpara> - Le nom de la police TrueType (peut aussi être une URL.) - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>angle</parameter> - </term> - <listitem> - <simpara>Angle en degré dans lequel le texte <parameter>text</parameter> - va être mesuré. - </simpara> - </listitem> - </varlistentry> - </variablelist> - <function>imagettfbbox</function> retourne une tableau avec 8 - éléments, représentant les 4 sommets du rectangle - ainsi défini. - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Coin inférieur gauche, abscisse</entry> - </row> - <row> - <entry>1</entry> - <entry>Coin inférieur gauche, ordonnée</entry> - </row> - <row> - <entry>2</entry> - <entry>Coin inférieur droit, abscisse</entry> - </row> - <row> - <entry>3</entry> - <entry>Coin inférieur droit, ordonnée</entry> - </row> - <row> - <entry>4</entry> - <entry>Coin supérieur droit, abscisse</entry> - </row> - <row> - <entry>5</entry> - <entry>Coin supérieur droit, ordonnée</entry> - </row> - <row> - <entry>6</entry> - <entry>Coin supérieur gauche, abscisse</entry> - </row> - <row> - <entry>7</entry> - <entry>Coin supérieur gauche, ordonnée</entry> - </row> - </tbody> - </tgroup> - </informaltable> - Les positions des points sont relatives au texte <emphasis>text</emphasis>, - indépendamment de l'angle : coin supérieur gauche faire - référence au coin supérieur gauche du texte écrit - horizontalement. - </para> - <para> - <function>imagettfbbox</function> requiert les bibliothèques - GD et Freetype. - </para> - <para> - Voir aussi - <function>imagettftext</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagettftext"> - <refnamediv> - <refname>ImageTTFText</refname> - <refpurpose>Dessine un texte avec une police TrueType.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagettftext</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>angle</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - <paramdef>string <parameter>fontfile</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagettftext</function> dessine la chaîne <parameter>text</parameter> - dans l'image <parameter>im</parameter>, en commençant aux coordonnées - (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est - l'origine (0,0)), avec un angle de <parameter>angle</parameter>, et dans la - couleur <parameter>col</parameter>, en utilisant la police TrueType identifiée par - <parameter>fontfile</parameter>. - </para> - <para> - Les coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) serviront - de référence pour le premier caractère (en gros, le coin - inférieur gauche du caractère). C'est différent de - <function>imagestring</function>, qui utilise le coin supérieur droit. - </para> - <para> - <parameter>angle</parameter> est donné en degrés, avec degré - 0 pour un texte horizontal, et en comptant les angles dans le sens inverse des - aiguilles d'une montre (sens direct). - </para> - <para> - <parameter>fontfile</parameter> est le chemin jusqu'à la police - TrueType à utiliser. - </para> - <para> - <parameter>text</parameter> est le texte à dessiner, incluant - aussi des séquences de caractères UTF-8 (de la forme: &#123; ) - pour générer des caractères au-delà de 255. - </para> - <para> - <parameter>col</parameter> est l'index de la couleur dans la palette. Utiliser - des index négatifs, revient à supprimer l'anti-aliasing. - </para> - <para> - <function>imagettftext</function> retourne un tableau de 8 éléments - représentant les 4 points marquants les limites du texte. L'ordre - des points est :supérieur gauche, supérieur droit, - inférieur droit, inférieur gauche. Les points sont nommés - relativement au texte à l'horizontale<function>imagecolorexact</function>. - </para> - <para> - Cet exemple va générer une image <acronym>GIF</acronym> noire - de 400x30 pixels, avec les mots "Test en cours...Oméga: &#937;" - en police blanche, type Arial. - <example> - <title>Exemple avec <function>imagettftext</function></title> - <programlisting role="php"> -<?php - header("Content-type: image/gif"); - $im = imagecreate(400,30); - $black = imagecolorallocate($im, 0,0,0); - $white = imagecolorallocate($im, 255,255,255); - imagettftext($im, 20, 0, 10, 20, $white, "/path/arial.ttf", - "Test en cours... Oméga: &#937;"); - imagegif($im); - imagedestroy($im); -?> - </programlisting> - </example> - </para> - <para> - <function>imagettftext</function> requiert les bibliothèques GD - ainsi que <ulink url="&url.freetype;">FreeType</ulink>. - </para> - <para> - Voir aussi - <function>imagettfbbox</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagetypes"> - <refnamediv> - <refname>ImageTypes</refname> - <refpurpose> - Retourne les types d'images supportés par la version - courante de PHP - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagetypes</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagetypes</function> retourne un champs de bits correspondant aux - formats d'images supportés par la version de GD - utilisée. Les valeurs suivantes sont valables : <literal>IMG_GIF</literal> | - <literal>IMG_JPG</literal> | <literal>IMG_PNG</literal> | <literal>IMG_WBMP</literal>. Pour vous assurer du support <acronym>PNG</acronym>, - faites ceci : - <example> - <title>Exemple avec ImageTypes</title> - <programlisting role="php"> -<?php - if (imagetypes() & IMG_PNG) { - echo "Le type PNG est supporté"; - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.read-exif-data"> - <refnamediv> - <refname>read_exif_data</refname> - <refpurpose>Lit les en-têtes EXIF d'une image JPEG</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>read_exif_data</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>read_exif_data</function> lit les en-têtes EXIF de - l'image <acronym>JPEG</acronym> nommée <parameter>filename</parameter>. - Elle retourne un tableau associatif où les index sont les noms - d'en-têtes EXIF, et les valeurs sont leur valeur - associée. Les en-têtes EXIF sont souvent disponibles - dans les images générées par les appareils - photos numériques, mais chaque constructeur marque ses images d'une - manière qui lui est propre : il est impossible de savoir - quelles en-têtes seront présents. - <example> - <title>Exemple avec <function>read_exif_data</function></title> - <programlisting role="php"> -<?php - $exif = read_exif_data('p0001807.jpg'); - while(list($k,$v)=each($exif)) { - echo "$k: $v<br>\n"; - } -?> - </programlisting> - <simpara> - Cet exemple va afficher : - </simpara> - <literallayout> - <computeroutput> -FileName: p0001807.jpg -FileDateTime: 929353056 -FileSize: 378599 -CameraMake: Eastman Kodak Company -CameraModel: KODAK DC265 ZOOM DIGITAL CAMERA (V01.00) -DateTime: 1999:06:14 01:37:36 -Height: 1024 -Width: 1536 -IsColor: 1 -FlashUsed: 0 -FocalLength: 8.0mm -RawFocalLength: 8 -ExposureTime: 0.004 s (1/250) -RawExposureTime: 0.0040000001899898 -ApertureFNumber: f/ 9.5 -RawApertureFNumber: 9.5100002288818 -FocusDistance: 16.66m -RawFocusDistance: 16.659999847412 -Orientation: 1 -ExifVersion: 0200 - </computeroutput> - </literallayout> - </example> - </para> - <para> - <note> - <simpara> - <function>read_exif_data</function> n'est disponible que sous PHP 4 , - compilé avec - <link linkend="install.configure.enable-exif">--enable-exif</link>. - </simpara> - <simpara> - <function>read_exif_data</function> ne requiert pas la librairie GD. - </simpara> - </note> - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.23 $ --><reference id="ref.image"> <title>Images</title> <titleabbrev>Graphisme</titleabbrev> <partintro> <simpara> Vous pouvez utiliser les fonctions PHP pour obtenir les tailles des images aux formats <acronym>JPEG</acronym>, <acronym>GIF</acronym>, <acronym>PNG</acronym> et <acronym>SWF</acronym>, et si vous avez la librairie GD (disponible à <ulink url="&url.gd;">&url.gd;</ulink>) vous pourrez aussi créer et manipuler ces images. </simpara> <simpara> Les formats des images que vous pourrez manipuler dépendent de la version de GD que vous installerez, et de toute autre librairie dont GD a besoin pour traiter à ces images. Les versions antérieures à la version 1.6 supportent le <acronym>GIF</acronym>, mais pas le <acronym>PNG</acronym>. Pour les versions plus récentes, c'est le contraire. </simpara> <simpara> Pour accéder aux images en <acronym>JPEG</acronym>, vous devez installer la librairie jpeg-6b (disponible à <ulink url="&url.jpeg;">&url.jpeg;</ulink>), puis, recompiler GD pour qu'elle utilise jpeg-6b. Vous devrez aussi compiler PHP avec <link linkend="install.configure.with-jpeg-dir"><option role="configure">--with-jpeg-dir=/path/to/jpeg-6b</option></link>. </simpara> <simpara> Pour ajouter le support des polices Type 1, vous devez installer t1lib (disponible à <ulink url="&url.t1lib;">&url.t1lib;</ulink>), puis ajouter l'option <link linkend="install.configure.enable-t1lib"><option role="configure">--with-t1lib[=dir]</option></link>. </simpara> </partintro> <refentry id="function.getimagesize"> <refnamediv> <refname>getimagesize</refname> <refpurpose>Retourne la taille d'une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>getimagesize</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>array <parameter><optional>imageinfo</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>getimagesize</function> va déterminer la taille des images de type <acronym>GIF</acronym>, <acronym>JPG</acronym>, <acronym>PNG</acronym>, <acronym>SWF</acronym>, <acronym>PSD</acronym> ou <acronym>BMP</acronym> et en retourner les dimensions, le type d'image, et une chaîne type "height/width", à placer dans une balise <acronym>HTML</acronym> ou <sgmltag>IMG</sgmltag> normale. </para> <para> <function>getimagesize</function> retourne un tableau de 4 éléments. L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 contient le type de l'image : 1 = <acronym>GIF</acronym>, 2 = <acronym>JPG</acronym>, 3 = <acronym>PNG</acronym>, 5 = <acronym>PSD</acronym>, 6 = <acronym>BMP</acronym>. L'index 3 contient la chaîne à placer dans les balises <acronym>HTML</acronym> : <literal>"height=xxx width=xxx"</literal>. <example> <title>Exemple avec <function>getimagesize</function></title> <programlisting role="php"><?php $size = getimagesize("img/flag.jpg");?><IMG SRC="img/flag.jpg"<?php echo $size[3];?>> </programlisting> </example> </para> <para> <example> <title><function>getimagesize</function> avec une URL</title> <programlisting role="php"><?php $size = getimagesize("http://www.php.net/gifs/logo.gif");?> </programlisting> </example> </para> <para> Avec les images <acronym>JPEG</acronym>, deux en-têtes supplémentaires sont retournés : <literal>channel</literal> et <literal>bits</literal>. <literal>channel</literal> vaudra 3 avec les images RGB, et 4 avec les images CMYK. <literal>bits</literal> est le nombre de bits de chaque couleur. </para> <para> Si l'accès à <parameter>filename</parameter> est impossible, ou si ce n'est pas une image valide, <function>getimagesize</function> retournera <literal>NULL</literal> et générera une alerte. </para> <para> Le paramètre optionnel <parameter>imageinfo</parameter> permet d'extraire des informations supplémentaires du fichier image. Actuellement, cette option va retourner différents marqueurs <acronym>JPG</acronym> APP dans un tableau associatif. Certains programmes utilisent ces marqueur APP pour préciser les informations dans les balises HTML. Un marqueur commun est le marqueur APP13, décrit à <ulink url="&url.iptc;">&url.iptc;</ulink>. Vous pouvez utiliser la fonction <function>iptcparse</function> pour analyser ce marqueur, et obtenir des informations intelligibles. <example> <title><function>getimagesize</function> qui retourne IPTC</title> <programlisting role="php"><?php $size = getimagesize("testimg.jpg",&$info); if (isset($info["APP13"])) { $iptc = iptcparse($info["APP13"]); var_dump($iptc); }?> </programlisting> </example> <note> <simpara> <function>getimagesize</function> ne requiert pas la bibliothèque GD. </simpara> </note> <note> <simpara> Le support URL a été ajouté en PHP 4.0.5. </simpara> </note> </para> </refsect1> </refentry> <refentry id="function.image2wbmp"> <refnamediv> <refname>image2wbmp</refname> <refpurpose>Crée une image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>image2wbmp</function></funcdef> <paramdef>int <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter> </paramdef> <paramdef>int <parameter><optional>threshold</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>image2wbmp</function> crée une image <acronym>WBMP</acronym> à partir de l'image <parameter>im</parameter>. Si le paramètre <parameter>filename</parameter> est fourni, l'image sera créée dans ce fichier, et sinon, elle sera envoyée au navigateur. <parameter>im</parameter> est une image valide, créée avec la fonction <function>imagecreate</function>. </para> <para> Le nom de fichier <parameter>filename</parameter> est optionnel, et si il est omis, l'image sera renvoyée directement au navigateur. En retournant un entête HTTP Content-Type : <acronym>image/vnd.wap.wbmp</acronym> avec la fonction <function>header</function>, vous pouvez creer des images WBMP avec vos scripts PHP. </para> <note> <para> Le support WBMP n'est disponible qu'avec GD-1.8 ou plus récent. </para> </note> <para> Voir aussi <function>imagewbmp</function>. </para> </refsect1> </refentry> <refentry id="function.imagealphablending"> <refnamediv> <refname>ImageAlphaBlending</refname> <refpurpose>Modifie le mode de blending d'une image</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagealphablending</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>boolean <parameter>blendmode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagealphablending</function> fournit deux modes de dessins des images en vraies couleurs (truecolors). En mode "blending", le canal alpha de chaque couleur est fournie à chaque fonction de dessin, tel que <function>imagesetpixel</function> peut déterminer sa transparence. GD va alors automatiquement mixer la couleur à ce point, et stocker le résultat dans l'image. Le pixel résultant est alors opaque. En mode non-mixant, la couleur est copiée littéralement avec ses informations de canal alpha, et remplace le pixel de destination. Le mixage n'est pas disponible avec les images à palette. Si <parameter>blendmode</parameter> vaut <literal>TRUE</literal>, alors le mode de mixage sera activé, sinon il sera désactivé. </para> <note> <para> <function>imagealphablending</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagearc"> <refnamediv> <refname>ImageArc</refname> <refpurpose>Dessine une ellipse partielle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagearc</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>s</parameter></paramdef> <paramdef>int <parameter>e</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagearc</function> dessine une ellipse partielle, centrée sur <parameter>cx</parameter>, <parameter>cy</parameter> (le coin en haut à gauche est l'origine (0,0)) dans l'image référencée par <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient la largeur et la hauteur de l'ellipse, tandis que le début et la fin de l'arc sont donnés en degrés, par les arguments <parameter>s</parameter> et <parameter>e</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagefilledarc"> <refnamediv> <refname>imagefilledarc</refname> <refpurpose>Dessine une ellipse partielle et la remplit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledarc</function></funcdef> <paramdef>int <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>s</parameter></paramdef> <paramdef>int <parameter>e</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> <paramdef>int <parameter>style</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledarc</function> dessine une ellipse partielle, centrée sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin supérieur gauche est (0, 0), dans l'image <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient respectivement la largeur et la hauteur de l'ellipse, tandis que les points de début et de fin sont représentés par <parameter>s</parameter> et <parameter>e</parameter>, en degrés. L'argument <parameter>style</parameter> est un champ de bits, combiné avec l'opérateur OR : <orderedlist> <listitem><simpara><literal>IMG_ARC_PIE</literal></simpara></listitem> <listitem><simpara><literal>IMG_ARC_CHORD</literal></simpara></listitem> <listitem><simpara><literal>IMG_ARC_NOFILL</literal></simpara></listitem> <listitem><simpara><literal>IMG_ARC_EDGED</literal></simpara></listitem> </orderedlist> <literal>IMG_ARC_PIE</literal> et <literal>IMG_ARC_CHORD</literal> sont mutellemement exclusives; <literal>IMG_ARC_CHORD</literal> ne fait que connecter les angles de début et de fin avec une ligne droite, tandis que <literal>IMG_ARC_PIE</literal> produit une ligne courbe. <literal>IMG_ARC_NOFILL</literal> indique que l'arc (ou corde) doit être dessiné mais pas rempli. <literal>IMG_ARC_EDGED</literal>, utilisé conjointement avec <literal>IMG_ARC_NOFILL</literal>, indique que les angles de début et de fin doivent être connectés au centre. Cette fonction est recommandée pour faire les graphiques de type camenbert. </para> <note> <para> <function>imagefilledarc</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imageellipse"> <refnamediv> <refname>ImageEllipse</refname> <refpurpose>Dessine une ellipse</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imageellipse</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageellipse</function> dessine une ellipse centrée sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin supérieur gauche est aux coordonnées (0,0). L'image de dessin est <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient respectivement la largeur et la hauteur de l'ellipse. La couleur de dessin de l'ellipse est <parameter>color</parameter>. </para> <note> <para> <function>imageellipse</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagefilledellipse"> <refnamediv> <refname>ImageFilledEllipse</refname> <refpurpose>Dessine une ellipse pleine</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledellipse</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledellipse</function> dessine une ellipse centrée sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin supérieur gauche est aux coordonnées (0,0). L'image de dessin est <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient respectivement la largeur et la hauteur de l'ellipse. La couleur de remplissage de l'ellipse est <parameter>color</parameter>. </para> <note> <para> <function>imagefilledellipse</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagechar"> <refnamediv> <refname>ImageChar</refname> <refpurpose>Dessine un caractère horizontalement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagechar</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>c</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagechar</function> dessine le premier caractère de la chaîne <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin supérieur gauche placé à la position <parameter>x</parameter>,<parameter>y</parameter> (le coin en haut à gauche est l'origine (0,0)) avec la couleur <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police intégrée sera utilisée (plus le chiffre est grand, plus grande est la police). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagecharup"> <refnamediv> <refname>ImageCharUp</refname> <refpurpose>Dessine un caractère verticalement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecharup</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>c</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecharup</function> dessine le premier caractère de la chaîne <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin supérieur gauche placé à la position (<parameter>x</parameter>,<parameter>y</parameter>) (le coin en haut à gauche est l'origine (0,0)), avec la couleur <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police intégrée sera utilisée (plus le chiffre est grand, plus grande est la police). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorallocate"> <refnamediv> <refname>ImageColorAllocate</refname> <refpurpose>Alloue une couleur pour une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorallocate</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorallocate</function> retourne un identifiant de couleur, représentant la couleur composée avec les couleurs RGB (<parameter>red</parameter>, <parameter>green</parameter>, <parameter>blue</parameter>). L'argument <parameter>im</parameter> est le résultat de la fonction <function>imagecreate</function>. <function>imagecolorallocate</function> doit être appelée pour créer chaque couleur qui sera représentée par <parameter>im</parameter>. <informalexample> <programlisting role="php"><?php $white = imagecolorallocate($im, 255,255,255); $black = imagecolorallocate($im, 0,0,0);?> </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.imagecolordeallocate"> <refnamediv> <refname>ImageColorDeAllocate</refname> <refpurpose> Désalloue une couleur pour une image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolordeallocate</function> </funcdef> <paramdef>resource <parameter>im</parameter> </paramdef> <paramdef>int <parameter>index</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolordeallocate</function> désalloue une couleur précédemment allouée avec la fonction <function>imagecolorallocate</function>. <informalexample> <programlisting role="php"><?php $white = imagecolorallocate($im, 255, 255, 255); imagecolordeallocate($im, $white);?> </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.imagecolorat"> <refnamediv> <refname>ImageColorAt</refname> <refpurpose>Retourne l'index de la couleur d'un pixel donné.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorat</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorat</function> retourne l'index de la couleur du pixel situé aux coordonnées (<parameter>x</parameter>, <parameter>y</parameter>), dans l'image <parameter>im</parameter>. </para> <para> Voir aussi <function>imagecolorset</function> et <function>imagecolorsforindex</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorclosestalpha"> <refnamediv> <refname>ImageColorClosestAlpha</refname> <refpurpose> Retourne la couleur la plus proche, en tenant compte du canal alpha </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorclosestalpha</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> <paramdef>int <parameter>alpha</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorclosestalpha</function> retourne l'index de la couleur, dans la palette de l'image <parameter>im</parameter>, la plus proche de la couleur spécifiée par les autres paramètres, au format <acronym>RGB</acronym> et de canal alpha <parameter>alpha</parameter>. </para> <para> Voir aussi <function>imagecolorexactalpha</function>. </para> <note> <para> <function>imagecolorclosestalpha</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecolorclosest"> <refnamediv> <refname>ImageColorClosest</refname> <refpurpose> Retourne l'index de la couleur la plus proche d'une couleur donnée. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorclosest</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorclosest</function> retourne l'index de la couleur de la palette qui est la plus proche de la valeur RGB passée. </para> <para> La "distance" entre la couleur souhaitée et les couleurs de la palette est calculée en considérant l'espace RGB comme un espace à 3 dimensions. </para> <para> Voir aussi <function>imagecolorexact</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorexact"> <refnamediv> <refname>ImageColorExact</refname> <refpurpose>Retourne l'index de la couleur donnée.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorexact</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorexact</function> retourne l'index de la couleur spécifiée dans la palette de l'image <parameter>im</parameter>. </para> <para> Si la couleur n'existe pas dans cette palette, <function>imagecolorexact</function> retourne -1. </para> <para> Voir aussi <function>imagecolorclosest</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorexactalpha"> <refnamediv> <refname>ImageColorExactAlpha</refname> <refpurpose>Retourne l'index d'une couleur avec son canal alpha</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorexactalpha</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> <paramdef>int <parameter>alpha</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorexactalpha</function> retourne l'index de la couleur fournie au format <acronym>RGB</acronym> et son canal alpha <parameter>alpha</parameter>, dans l'image <parameter>im</parameter>. </para> <para> Si la couleur n'existe pas dans la palette de l'image, <function>imagecolorexactalpha</function> retourne -1. </para> <para> Voir aussi <function>imagecolorclosestalpha</function>. </para> <note> <para> <function>imagecolorexactalpha</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecolorresolve"> <refnamediv> <refname>ImageColorResolve</refname> <refpurpose> Retourne l'index de la couleur donnée, ou la plus proche possible. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorresolve</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorresolve</function> retourne un index de couleur à tous les coups. Soit il arrive à trouver la couleur demandée dans la palette, soit il recherche la couleur la plus proche. </para> <para> Voir aussi <function>imagecolorclosest</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorresolvealpha"> <refnamediv> <refname>ImageColorResolveAlpha</refname> <refpurpose> Retourne un index de couleur ou son alternative la plus proche, y compris le canal alpha </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorresolvealpha</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> <paramdef>int <parameter>alpha</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorresolvealpha</function> retourne toujours un index de couleur, disponible dans la palette de l'image <parameter>im</parameter> : soit c'est la couleur exacte, soit c'est la meilleure approximation. </para> <para> Voir aussi <function>imagecolorclosestalpha</function>. </para> <note> <para> <function>imagecolorresolvealpha</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagegammacorrect"> <refnamediv> <refname>ImageGammaCorrect</refname> <refpurpose> Applique une correction gamma à l'image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagegammacorrect</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>float <parameter>inputgamma</parameter> </paramdef> <paramdef>float <parameter>outputgamma</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagegammacorrect</function> applique une correction gamma à l'image GD <parameter>im</parameter>. Le facteur d'entrée est <parameter>inputgamma</parameter>, et le facteur de sortie est <parameter>outputgamma</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecolorset"> <refnamediv> <refname>ImageColorSet</refname> <refpurpose> Change la couleur dans une palette à l'index donné. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>imagecolorset</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorset</function> permet d'attribuer à un index d'une palette une couleur spécifique. C'est une fonction très pratique pour effectuer du remplissage de couleur sans le faire réellement. </para> <para> Voir aussi <function>imagecolorat</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorsforindex"> <refnamediv> <refname>ImageColorsForIndex</refname> <refpurpose>Retourne la couleur associée à un index.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagecolorsforindex</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorsforindex</function> retourne un tableau associatif avec les couleurs rouge (red) , vert (green), bleu (blue) qui contiennent les valeurs de la couleur correspondante. </para> <para> Voir aussi <function>imagecolorat</function> et <function>imagecolorexact</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorstotal"> <refnamediv> <refname>ImageColorsTotal</refname> <refpurpose>Calcule le nombre de couleurs d'une palette.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorstotal</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorstotal</function> retourne le nombre de couleurs de la palette. </para> <para> Voir aussi <function>imagecolorat</function> et <function>imagecolorsforindex</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolortransparent"> <refnamediv> <refname>ImageColorTransparent</refname> <refpurpose>Définit la couleur transparente.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolortransparent</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter><optional>col</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolortransparent</function> permet de choisir la couleur transparente d'une image, et de lui donner la valeur de col. <parameter>im</parameter> est un identifiant d'image, retourné par <function>imagecreate</function> et <parameter>col</parameter> est un identifiant de couleur retourné par <function>imagecolorallocate</function>. </para> <para> L'identifiant de la nouvelle (ou courante) couleur transparente est retourné. </para> </refsect1> </refentry> <refentry id="function.imagecopy"> <refnamediv> <refname>ImageCopy</refname> <refpurpose> Copie une partie d'une image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopy</function> </funcdef> <paramdef>resource <parameter>dst_im</parameter> </paramdef> <paramdef>resource <parameter>src_im</parameter> </paramdef> <paramdef>int <parameter>dst_x</parameter> </paramdef> <paramdef>int <parameter>dst_y</parameter> </paramdef> <paramdef>int <parameter>src_x</parameter> </paramdef> <paramdef>int <parameter>src_y</parameter> </paramdef> <paramdef>int <parameter>src_w</parameter> </paramdef> <paramdef>int <parameter>src_h</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Copie une partie de l'image <parameter>src_im</parameter> sur l'image de destination <parameter>dst_im</parameter>, en commençant aux coordonnées <parameter>src_x</parameter>, <parameter>src_y</parameter> et sur la largeur de <parameter>src_w</parameter> et la hauteur de <parameter>src_h</parameter>. La portion ainsi définie sera copiée et placée aux coordonnées <parameter>dst_x</parameter> et <parameter>dst_y</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecopymerge"> <refnamediv> <refname>ImageCopyMerge</refname> <refpurpose> Copie et fusionne une partie d'une image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopymerge</function></funcdef> <paramdef>resource <parameter>dst_im</parameter> </paramdef> <paramdef>resource <parameter>src_im</parameter> </paramdef> <paramdef>int <parameter>dst_x</parameter> </paramdef> <paramdef>int <parameter>dst_y</parameter> </paramdef> <paramdef>int <parameter>src_x</parameter> </paramdef> <paramdef>int <parameter>src_y</parameter> </paramdef> <paramdef>int <parameter>src_w</parameter> </paramdef> <paramdef>int <parameter>src_h</parameter> </paramdef> <paramdef>int <parameter>pct</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopymerge</function> copie une partie de l'image <parameter>src_im</parameter> dans l'image de destination <parameter>dst_im</parameter> en commençant aux coordonnées (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec la largeur <parameter>src_w</parameter> et la hauteur <parameter>src_h</parameter>. La zone de l'image ainsi définie sera copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), dans l'image de destination. Les deux images seront fusionnées suivant le paramètre <parameter>pct</parameter>, qui peut valoir de 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est faite, alors que si <parameter>pct</parameter> = 100, <function>imagecopymerge</function> se comporte exactement comme <function>imagecopy</function>. </para> <note> <para> <function>imagecopymerge</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagecopymergegray"> <refnamediv> <refname>ImageCopyMergeGray</refname> <refpurpose> Copie et fusionne une partie d'une image en niveaux de gris </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopymergegray</function> </funcdef> <paramdef>resource <parameter>dst_im</parameter> </paramdef> <paramdef>resource <parameter>src_im</parameter> </paramdef> <paramdef>int <parameter>dst_x</parameter> </paramdef> <paramdef>int <parameter>dst_y</parameter> </paramdef> <paramdef>int <parameter>src_x</parameter> </paramdef> <paramdef>int <parameter>src_y</parameter> </paramdef> <paramdef>int <parameter>src_w</parameter> </paramdef> <paramdef>int <parameter>src_h</parameter> </paramdef> <paramdef>int <parameter>pct</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopymergegray</function> copie une partie de l'image <parameter>src_im</parameter> dans l'image de destination <parameter>dst_im</parameter> commençant aux coordonnées (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec la largeur <parameter>src_w</parameter> et la hauteur <parameter>src_h</parameter>. La zone de l'image ainsi définie sera copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), dans l'image de destination. Les deux images seront fusionnées suivant le paramètre <parameter>pct</parameter>, qui peut valoir de 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est faite, alors que si <parameter>pct</parameter> = 100, <function>imagecopymerge</function> se comporte exactement comme <function>imagecopy</function>. </para> <para> <function>imagecopymergegray</function> est identique à la fonction <function>imagecopymerge</function>, hormis le fait que lors de la fusion, le "hue" de l'image sera conservé grâce à la conversion de la zone dans l'image de destination en gris, avant l'opération de copie. </para> <note> <para> <function>imagecopymergegray</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagecopyresized"> <refnamediv> <refname>ImageCopyResized</refname> <refpurpose>Copie et redimensionne une partie d'une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopyresized</function></funcdef> <paramdef>resource <parameter>dst_im</parameter></paramdef> <paramdef>resource <parameter>src_im</parameter></paramdef> <paramdef>int <parameter>dstX</parameter></paramdef> <paramdef>int <parameter>dstY</parameter></paramdef> <paramdef>int <parameter>srcX</parameter></paramdef> <paramdef>int <parameter>srcY</parameter></paramdef> <paramdef>int <parameter>dstW</parameter></paramdef> <paramdef>int <parameter>dstH</parameter></paramdef> <paramdef>int <parameter>srcW</parameter></paramdef> <paramdef>int <parameter>srcH</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopyresized</function> copie une partie rectangulaire d'une image dans une autre image de destination. <parameter>dst_im</parameter> est l'image de destination, <parameter>src_im</parameter> est l'image source. Si les dimensions de la source et de la destination ne sont pas égales, un étirement adéquat est effectué pour faire correspondre les deux. Les coordonnées fournies sont définies par rapport au coin supérieur gauche. Cette fonction peut être utilisée pour recopier des régions à l'intérieur d'une même image, si <parameter>dst_im</parameter> et <parameter>src_im</parameter> sont identiques : mais si les régions se chevauchent, le résultat risque d'être incohérent. </para> <para> Voir aussi <function>imagecopyresampled</function>. </para> </refsect1> </refentry> <refentry id="function.imagecopyresampled"> <refnamediv> <refname>ImageCopyResampled</refname> <refpurpose>Copie, redimensionne, rééchantillonne une image</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopyresampled</function></funcdef> <paramdef>resource <parameter>dst_im</parameter></paramdef> <paramdef>resource <parameter>src_im</parameter></paramdef> <paramdef>int <parameter>dstX</parameter></paramdef> <paramdef>int <parameter>dstY</parameter></paramdef> <paramdef>int <parameter>srcX</parameter></paramdef> <paramdef>int <parameter>srcY</parameter></paramdef> <paramdef>int <parameter>dstW</parameter></paramdef> <paramdef>int <parameter>dstH</parameter></paramdef> <paramdef>int <parameter>srcW</parameter></paramdef> <paramdef>int <parameter>srcH</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopyresampled</function> copie une zone rectangulaire de l'image <parameter>src_im</parameter> vers l'image <parameter>src_im</parameter>. Durant la copie, la zone est rééchantillonnée de manière à conserver la clarté de l'image durant une réduction. <parameter>Dst_im</parameter> est l'image de destination, <parameter>src_im</parameter> est l'image source. Si les hauteurs et largeur des source et destination diffèrent, l'image copiée sera étirée de manière appropriée. Les coordonnées sont celles du coin supérieur gauche. <function>imagecopyresampled</function> peut servir à copier des zones d'une image vers elle-même, mais si les régions se chevauchent, les résultats sont imprévisibles. </para> <para> Voir aussi <function>imagecopyresized</function>. </para> <note> <para> <function>imagecopyresampled</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreate"> <refnamediv> <refname>ImageCreate</refname> <refpurpose>Crée une nouvelle image à palette.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreate</function></funcdef> <paramdef>int <parameter>x_size</parameter></paramdef> <paramdef>int <parameter>y_size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreate</function> retourne un identifiant d'image représentant une image vide, de largeur <parameter>x_size</parameter> et longueur <parameter>y_size</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromgif"> <refnamediv> <refname>imagecreatefromgif</refname> <refpurpose> Crée une nouvelle image à partir d'un fichier ou d'une URL. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromgif</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromgif</function> retourne un identifiant d'image qui représente l'image obtenue à partir du fichier dont le nom est donné. </para> <para> <function>imagecreatefromgif</function> retourne une chaîne vide en cas d'échec. Il va aussi retourner une erreur qui va afficher un lien brisé dans un navigateur. Pour simplifier le débuggage, utilisez le code suivant, qui retourne une erreur <acronym>GIF</acronym> : <example> <title> Exemple de gestion des erreurs durant la création d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php"><?phpfunction loadgif($imgname){ $im = @imagecreatefromgif($imgname); /* Tentative d'ouverture */ if ($im == "") { /* échec ? */ $im = ImageCreate(150,30); /* Crée une image vide */ $bgc = ImageColorAllocate($im,255,255,255); $tc = ImageColorAllocate($im,0,0,0); imagefilledrectangle($im,0,0,150,30,$bgc); imagestring($im,1,5,5,"Erreur lors du chargement du fichier $imgname",$tc); /* Affiche un message d'erreur */ } return $im;}?> </programlisting> </example> <note> <para> Etant donné que toutes les fonctions de gestion des <acronym>GIF</acronym> ont été supprimées de la bibliothèque GD version 1.6, cette fonction n'est pas disponible si vous utilisez cette version de la librairie. </para> </note> </para> </refsect1> </refentry> <refentry id="function.imagecreatetruecolor"> <refnamediv> <refname>ImageCreateTrueColor</refname> <refpurpose>Crée une nouvelle image en vraies couleurs</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatetruecolor</function></funcdef> <paramdef>int <parameter>x_size</parameter></paramdef> <paramdef>int <parameter>y_size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatetruecolor</function> retourne une ressource représentant une image noire de largeur <parameter>x_size</parameter>, et de hauteur <parameter>y_size</parameter>. </para> <note> <para> <function>imagecreatetruecolor</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagetruecolortopalette"> <refnamediv> <refname>ImageTrueColorToPalette</refname> <refpurpose>Convertit une image en vraies couleurs en image à palette</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>imagetruecolortopalette</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>boolean <parameter>dither</parameter></paramdef> <paramdef>int <parameter>ncolors</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagetruecolortopalette</function> convertit l'image en vraies couleurs <parameter>im</parameter> en image à palette. Le code de cette fonction est directement tiré de la librairie du "Independent JPEG Group", qui est tout simplement génial. Le code a été modifié pour préserver l'essentiel du canal alph dans la nouvelle palette, en plus de conserver les couleurs du mieux possible. Mais cela ne fonctionne pas toujours comme voulu. Il est alors préférable de générer un résultat en vraies couleurs, ce qui a toujours le meilleur rendu. </para> <para> Si <parameter>dither</parameter> vaut <literal>TRUE</literal>, cela indique que l'image doit être ditherée : l'image sera un peu plus granuleuse, mais l'approximation des couleurs sera meilleure. </para> <para> <parameter>ncolors</parameter> est le nombre maximal de couleurs dans la palette finale. </para> <note> <para> <function>imagetruecolortopalette</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreatefromjpeg"> <refnamediv> <refname>ImageCreateFromJPEG</refname> <refpurpose> Crée une nouvelle image <acronym>JPEG</acronym> à partir d'un fichier ou d'une URL </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromjpeg</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromjpeg</function> retourne un identifiant d'image représentant une image obtenue à partir du fichier <parameter>filename</parameter>. </para> <para> <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un lien brisé dans un navigateur web. Pour faciliter le débuggage, voici une erreur <acronym>JPEG</acronym>: <example> <title> Exemple de gestion d'erreur lors de la création d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php"><?phpfunction loadjpeg($imgname) { $im = @imagecreatefromjpeg($imgname); /* Tentative d'ouverture */ if (!$im) { /* Vérification */ $im = imagecreate(150, 30); /* Création d'une image blanche */ $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc);// Affichage d'un message d'erreur imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); } return $im;}?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.imagecreatefrompng"> <refnamediv> <refname>ImageCreateFromPNG</refname> <refpurpose> Crée une nouvelle image <acronym>PNG</acronym> à partir d'un fichier ou d'une URL </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefrompng</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefrompng</function> retourne un identifiant d'image représentant une image obtenue à partir du fichier <parameter>filename</parameter>. </para> <para> <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un lien brisé dans un navigateur web. Pour faciliter le débuggage, voici une erreur <acronym>PNG</acronym>: <example> <title> Exemple de gestion d'erreur lors de la création d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php"><?phpfunction LoadPNG($imgname) { $im = @imagecreatefrompng($imgname); /* Tentative d'ouverture */ if (!$im) { /* Vérification */ $im = imagecreate(150, 30); /* Création d'une image blanche */ $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc); /* Affichage d'un message d'erreur */ imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); } return $im;}?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.imagecreatefromwbmp"> <refnamediv> <refname>ImageCreateFromWBMP</refname> <refpurpose>Crée une image depuis un fichier WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromwbmp</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromwbmp</function> retourne une ressource d'image PHP, représentant l'image <parameter>filename</parameter>. </para> <para> <function>imagecreatefromwbmp</function> retourne une chaîne vide en cas d'erreur. Il retourne aussi un message d'erreur qui s'affiche comme un lien mort dans un navigateur. Pour aider au débuggage, l'exemple suivant va produire une erreur <acronym>WBMP</acronym>: <example> <title> Exemple de gestion des erreurs durant la création d'une image WBMP (gracieusement proposé par vic@zymsys.com) </title> <programlisting role="php">function loadwbmp($imgname) { $im = @imagecreatefromwbmp($imgname); /* Tentative d'ouverture */ if (!$im) { /* Vérification que cela s'est bien passé */ $im = imagecreate(20, 20); /* Crée une image blanche */ $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 10, 10, $bgc);// Affiche le message d'erreur imagestring($im, 1, 5, 5, "Erreur de chargement de $imgname", $tc); } return $im;} </programlisting> </example> </para> <note> <para> Le support WBMP n'est disponible qu'avec GD-1.8 ou plus récent. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreatefromstring"> <refnamediv> <refname>ImageCreateFromString</refname> <refpurpose>Crée une image à partir d'une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromstring</function></funcdef> <paramdef>string <parameter>string</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromstring</function> retourne un identifiant d'image représentant la chaîne <parameter>string</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromxbm"> <refnamediv> <refname>ImageCreateFromXBM</refname> <refpurpose>Crée une image à partir d'un fichier XBM</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecreatefromxbm</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromxbm</function> retourne un identifiant d'image représentant l'image obtenue à partir du fichier <parameter>filename</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromxpm"> <refnamediv> <refname>ImageCreateFromXPM</refname> <refpurpose>Crée une image à partir d'un fichier XPM</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecreatefromxpm</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromxpm</function> retourne un identifiant d'image représentant l'image obtenue à partir du fichier <parameter>filename</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagedashedline"> <refnamediv> <refname>ImageDashedLine</refname> <refpurpose>Dessine une ligne pointillée.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagedashedline</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagedashedline</function> dessine une ligne pointillée entre les points (<parameter>x1</parameter>,<parameter>y1</parameter>) et (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin supérieur droit est l'origine (0,0)) dans l'image <parameter>im</parameter>, avec la couleur <parameter>col</parameter>. </para> <para> Voir aussi <function>imageline</function>. </para> </refsect1> </refentry> <refentry id="function.imagedestroy"> <refnamediv> <refname>ImageDestroy</refname> <refpurpose>détruit une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagedestroy</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagedestroy</function> libère toute la mémoire associée à l'image <parameter>im</parameter>. <parameter>im</parameter> est un identifiant d'image valide retourné par <function>imagecreate</function>. </para> </refsect1> </refentry> <refentry id="function.imagefill"> <refnamediv> <refname>ImageFill</refname> <refpurpose>Remplit.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefill</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefill</function> effectue un remplissage avec la couleur <parameter>col</parameter>, dans l'image <parameter>im</parameter>, à partir du point de coordonnées (<parameter>x</parameter>, <parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)). </para> </refsect1> </refentry> <refentry id="function.imagefilledpolygon"> <refnamediv> <refname>ImageFilledPolygon</refname> <refpurpose>Dessine un polygone rempli.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledpolygon</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>array <parameter>points</parameter></paramdef> <paramdef>int <parameter>num_points</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledpolygon</function> dessine un polygone rempli dans l'image <parameter>im</parameter>. <parameter>points</parameter> est un tableau PHP qui contient les sommets des polygones sous la forme :. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. <parameter>num_points</parameter> est le nombre total de sommets. </para> </refsect1> </refentry> <refentry id="function.imagefilledrectangle"> <refnamediv> <refname>ImageFilledRectangle</refname> <refpurpose>Dessine un rectangle rempli.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledrectangle</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledrectangle</function> dessine un rectangle de couleur <parameter>col</parameter> dans l'image <parameter>im</parameter>, en commençant par le sommet supérieur gauche (<parameter>x1</parameter>, <parameter>y1</parameter>) et finissant au sommet inférieur droit (<parameter>x2</parameter>, <parameter>y2</parameter>). Le coin supérieur gauche est l'origine (0, 0). </para> </refsect1> </refentry> <refentry id="function.imagefilltoborder"> <refnamediv> <refname>ImageFillToBorder</refname> <refpurpose>Remplit avec une région avec une couleur spécifique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilltoborder</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>border</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilltoborder</function> remplit avec la couleur <parameter>col</parameter> toute la région à l'intérieur de la région limitée par la couleur <parameter>border</parameter>. Le point de départ est (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)). </para> </refsect1> </refentry> <refentry id="function.imagefontheight"> <refnamediv> <refname>ImageFontHeight</refname> <refpurpose>Retourne la hauteur de la police.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefontheight</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefontheight</function> retourne la hauteur de la police <parameter>font</parameter> en pixels. </para> <para> Voir aussi <function>imagefontwidth</function> et <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagefontwidth"> <refnamediv> <refname>ImageFontWidth</refname> <refpurpose>Retourne la largeur de la police.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefontwidth</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefontwidth</function> retourne la largeur de la police <parameter>font</parameter> en pixels. </para> <para> Voir aussi <function>imagefontheight</function> et <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagegif"> <refnamediv> <refname>ImageGif</refname> <refpurpose>Envoie une image GIF vers un navigateur ou un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagegif</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagegif</function> crée un fichier image <acronym>GIF</acronym> avec le nom <parameter>filename</parameter> d'après l'image <parameter>im</parameter>. L'argument <parameter>im</parameter> est un identifiant valide retourné par la fonction <function>imagecreate</function>. </para> <para> Le format de l'image sera GIF87a, à moins que l'image n'ait une couleur transparente (mise en place grâce à la fonction <function>imagecolortransparent</function>)), ce qui fera qu'elle sera au format GIF89a. </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant une en-tête de type <literal>image/gifcontent-type</literal> , (grâce à la fonction <function>header</function>), vous pouvez créer des images avec des scripts PHP. <note> <para> Etant donné que toutes les fonctions <acronym>GIF</acronym> ont été supprimées de la bibliothèque GD version 1.6, cette fonction ne sera pas accessible si vous avez cette version de la librairie. </para> <para> Le code suivant vous permet d'écrire des scripts PHP plus portables : le type de GD est automatiquement détecté. Il remplace la séquence <literal>Header("Content-type: image/gif"); ImageGif($im);</literal> par un code plus souple : <informalexample> <programlisting role="php"><?php if (function_exists("imagegif")) { header("Content-type: image/gif"); imagegif($im); } elseif (function_exists("imagejpeg")) { header("Content-type: image/jpeg"); imagejpeg($im, "", 0.5); } elseif (function_exists("imagepng")) { header("Content-type: image/png"); imagepng($im); } elseif (function_exists("imagewbmp")) { header("Content-type: image/vnd.wap.wbmp"); imagewbmp($im); } else { die("Pas de support graphique avec PHP sur ce serveur"); }?> </programlisting> </informalexample> </para> </note> <note> <para> En PHP 4, à partir de la version 4.0.2, vous pouvez utiliser la fonction <function>imagetypes</function> à la place de <function>function_exists</function> pour vérifier que certains formats d'images sont supportés : <informalexample> <programlisting role="php"><?php if (function_exists("imagegif")) { header("Content-type: image/gif"); imagegif($im); } elseif (function_exists("imagejpeg")) { header("Content-type: image/jpeg"); imagejpeg($im, "", 0.5); } elseif (function_exists("imagepng")) { header("Content-type: image/png"); imagepng($im); } elseif (function_exists("imagewbmp")) { header("Content-type: image/vnd.wap.wbmp"); imagewbmp($im); } else { die("Pas de support graphique avec PHP sur ce serveur"); }?> </programlisting> </informalexample> </para> </note> </para> <para> Voir aussi <function>imagejpeg</function>, <function>imagewbmp</function>, <function>imagepng</function>, <function>imageinterlace</function>, <function>imagegif</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imagepng"> <refnamediv> <refname>ImagePNG</refname> <refpurpose> Envoie une image PNG vers un navigateur ou un fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepng</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepng</function> envoie l'image GD (<parameter>im</parameter>) au format <acronym>PNG</acronym> sur la sortie standard (typiquement, le navigateur web), ou si <parameter>filename</parameter> est fourni, l'envoie dans un fichier. <informalexample> <programlisting role="php"><?php $im = imagecreatefrompng("test.png"); imagepng($im);?> </programlisting> </informalexample> </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant une image de type <literal>image/png content-type</literal> (grâce à la fonction <function>header</function>), vous pouvez créer des images <acronym>PNG</acronym> avec des scripts PHP. </para> <para> Voir aussi <function>imagejpeg</function>, <function>imagewbmp</function>, <function>imagegif</function>, <function>imageinterlace</function>, <function>imagegif</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imagejpeg"> <refnamediv> <refname>ImageJPEG</refname> <refpurpose> Envoie une image JPEG vers un navigateur ou un fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagejpeg</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter> </paramdef> <paramdef>int <parameter><optional>quality</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagejpeg</function> envoie l'image GD (<parameter>im</parameter>) au format <acronym>JPEG</acronym> sur la sortie standard (typiquement, le navigateur web), ou si <parameter>filename</parameter> est fourni, l'envoie dans un fichier. <parameter>im</parameter> a été créé par <function>imagecreate</function>. </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant une image de type <literal>image/jpeg content-type</literal> (grâce à la fonction <function>header</function>), vous pouvez créer des images <acronym>JPEG</acronym> avec des scripts PHP. </para> <note> <para> Le support <acronym>JPEG</acronym> n'est disponible que si PHP est compilé avec GD-1.8 ou plus récent. </para> </note> <para> <parameter>quality</parameter> est optionnel, et prend des valeurs entières de 0 (pire qualité, petit fichier) et 100 (meilleure qualité, gros fichier). Par défaut, la valeur est à 100. </para> <para> Si vous voulez générer des images JPEG progressive, vous devez choisir l'entrelacement à l'aide de la fonction <function>imageinterlace</function>. </para> <para> Voir aussi <function>imagepng</function>, <function>imagewbmp</function>, <function>imagegif</function>, <function>imageinterlace</function>, <function>imagegif</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imagewbmp"> <refnamediv> <refname>ImageWBMP</refname> <refpurpose>Affiche une image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagewbmp</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter> </paramdef> <paramdef>int <parameter><optional>foreground</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagewbmp</function> crée l'image <acronym>WBMP</acronym> dans le fichier <parameter>filename</parameter>, à partir de l'image <parameter>im</parameter>. Le paramètre <parameter>im</parameter> a été créé avec la fonction <function>imagecreate</function>. </para> <para> <parameter>filename</parameter> est optionnel, et s'il est omis, l'image sera envoyée directement au client. En plaçant l'en-tête <acronym>image/vnd.wap.wbmp</acronym>, dans le champs "content-type", vous pourrez afficher une image <acronym>WBMP</acronym>. <note> <para> Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent. </para> </note> </para> <para> En passant le paramètre optionnel <parameter>foreground</parameter>, vous pouvez choisir la couleur de fond. Utilisez l'identifiant retourné par <function>imagecolorallocate</function> comme valeur de ce paramètre. La couleur de fond par défaut est noir. </para> <para> Voir aussi <function>image2wbmp</function>, <function>imagepng</function>, <function>imagegif</function>, <function>imagejpeg</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imageinterlace"> <refnamediv> <refname>ImageInterlace</refname> <refpurpose>Active ou désactive l'entrelacement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imageinterlace</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter><optional>interlace</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageinterlace</function> active ou désactive le bit d'entrelacement. </para> <para> Si l'entrelacement est à 1, l'image <parameter>im</parameter> sera interlacée, et sinon, elle ne le sera pas. Si le format d'affichage de l'image est <acronym>JPEG</acronym>, l'image créée sera un JPEG progressif. </para> <para> <function>imageinterlace</function> retourne l'état courant d'entrelacement de l'image. </para> </refsect1> </refentry> <refentry id="function.imageline"> <refnamediv> <refname>ImageLine</refname> <refpurpose>Dessine une ligne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imageline</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageline</function> dessine une ligne depuis le point (<parameter>x1</parameter>,<parameter>y1</parameter>) jusqu'au point (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter> et avec la couleur <parameter>col</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. </para> </refsect1> </refentry> <refentry id="function.imageloadfont"> <refnamediv> <refname>ImageLoadFont</refname> <refpurpose>Charge une nouvelle police.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imageloadfont</function></funcdef> <paramdef>string <parameter>file</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageloadfont</function> charge une nouvelle police utilisateur et retourne un identifiant sur cette police. Cet identifiant sera toujours supérieur à 5, pour éviter les conflits avec les polices standard PHP. </para> <para> Le format des polices dépend actuellement du système d'exploitation. Ce qui signifie qu'il vous faut générer des fichiers de polices pour la machine qui fait tourner PHP. </para> <para> <table> <title>Format de fichier de police.</title> <tgroup cols="3"> <thead> <row> <entry>Position</entry> <entry>Type de données C</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry>Octets 0-3</entry> <entry>int</entry> <entry>Nombre de caractères de la police</entry> </row> <row> <entry>Octets 4-7</entry> <entry>int</entry> <entry> Valeur du premier caractère de la police (souvent 32 pour espace) </entry> </row> <row> <entry>Octets 8-11</entry> <entry>int</entry> <entry>Largeur en pixels des caractères</entry> </row> <row> <entry>Octets 12-15</entry> <entry>int</entry> <entry>Hauteur en pixels des caractères</entry> </row> <row> <entry>Octets 16-</entry> <entry>char</entry> <entry> Tableau avec les données des caractères, un octet par pixel pour chaque caractère, avec un total de (nombre_caractères*largeur*hauteur) octets. </entry> </row> </tbody> </tgroup> </table> </para> <para> Voir aussi <function>imagefontwidth</function> et <function>imagefontheight</function>. </para> </refsect1> </refentry> <refentry id="function.imagepalettecopy"> <refnamediv> <refname>ImagePaletteCopy</refname> <refpurpose>Copie la palette d'une image à l'autre</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepalettecopy</function></funcdef> <paramdef>resource <parameter>destination</parameter></paramdef> <paramdef>resource <parameter>source</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepalettecopy</function> copie la palette de l'image <parameter>source</parameter> dans l'image <parameter>destination</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagepolygon"> <refnamediv> <refname>ImagePolygon</refname> <refpurpose>Dessine un polygone.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepolygon</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>array <parameter>points</parameter></paramdef> <paramdef>int <parameter>num_points</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepolygon</function> dessine un polygone dans l'image <parameter>im</parameter>. <parameter>points</parameter> est un tableau PHP qui contient les sommets du polygone sous la forme : points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points est le nombre de sommets. </para> <para> Voir aussi <function>imagecreate</function>. </para> </refsect1> </refentry> <refentry id="function.imagepsbbox"> <refnamediv> <refname>ImagePSBBox</refname> <refpurpose> Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagepsbbox</function></funcdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>space</parameter></paramdef> <paramdef>int <parameter>width</parameter></paramdef> <paramdef>float <parameter>angle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>size</parameter> est exprimé en pixels. </para> <para> <parameter>space</parameter> permet de changer la valeur par défaut du charactère espace. Cette valeur est ajoutée lors des dessins, et donc, peut être négative. </para> <para> <parameter>tightness</parameter> permet de contrôler la quantité d'espace entre les caractères. Cette quantité est ajoutée lors des dessins, et peut donc être négative. </para> <para> <parameter>angle</parameter> est en degrés. </para> <para> Les paramètres <parameter>space</parameter> et <parameter>tightness</parameter> sont exprimés en unité d'espacement de caractères, avec 1 unité vaut 1/1000 d'un em carré (NDT : kesako?). </para> <para> Les paramètres <parameter>space</parameter>, <parameter>tightness</parameter> et <parameter>angle</parameter> sont optionnels. </para> <para> Le rectangle entourant est calculé en utilisant les informations disponibles sur les tailles de caractères, et, malheureusement, il a tendance à être légèrement différent du résultat réel final. Si l'angle est de 0 degré, vous pouvez-vous attendre à avoir besoin d'un rectangle d'au moins un pixel plus grand dans toutes les directions. </para> <para> <function>imagepsbbox</function> retourne un tableau contenant les éléments suivants : <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Abscisse inférieure gauche</entry> </row> <row> <entry>1</entry> <entry>Ordonnée inférieure gauche</entry> </row> <row> <entry>2</entry> <entry>Abscisse supérieure droite</entry> </row> <row> <entry>3</entry> <entry>Ordonnée supérieure droite</entry> </row> </tbody> </tgroup> </informaltable> </para> <para> Voir aussi <function>imagepstext</function>. </para> </refsect1> </refentry> <!-- The function in t1lib which this function uses seems to be buggy... Currently, just comment out everywhere in the docs and source until time permits to find a solution. <refentry id="function.imagepscopyfont"> <refnamediv> <refname>imagepscopyfont</refname> <refpurpose> Fait une copie d'une police chargée pour modification ultérieure. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepscopyfont</function></funcdef> <paramdef>int <parameter>fontindex</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Utilisez cette fonction si vous devez faire des modifications dans une polie, comme par exemple l'extension ou la condensation, ou encore, modifier son vecteur d'encodage, tout en conservant l'original. Notez que la police que vous copiez doit être obtenue par <function>imagepsloadfont</function>, et non pas une police qui a elle-même été copiée. Vous pouvez aussi faire des modifications avant de la copier. </para> <para> Si vous utilisez cette fonction, vous <emphasis>DEVEZ</emphasis> libérer les polices obtenues vous même, et dans l'ordre inverse. Sinon, votre script sera <emphasis>suspendu</emphasis>. </para> <para> Si tout a bien été fait, un index valide de police sera retourné, et pourra être utilisé ultérieurement. Sinon, la fonction retournera <literal>FALSE</literal>, et affichera un message décrivant l'erreur. </para> <para> Voir aussi <function>imageploadpsfont</function>. </para> </refsect1> </refentry> --> <refentry id="function.imagepsencodefont"> <refnamediv> <refname>ImagePSEncodeFont</refname> <refpurpose> Change le codage vectoriel d'un caractère dans une police. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepsencodefont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>string <parameter>encodingfile</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepsencodefont</function> charge le codage vectoriel d'un caractère depuis un fichier et change le codage vectoriel de la police correspondante. Etant donné que les polices PostScript ne disposent pas des caractères au-delà de 127, vous aurez sûrement besoin de les changer si vous utilisez une autre langue que l'anglais. Le format exact est décrit dans la documentation T1libs. T1lib est disponible en deux formes : IsoLatin1.enc et IsoLatin2.enc. </para> <para> Si vous commencez à utiliser cette fonction régulièrement, une meilleure solution est de définir un encodage, et de l'utiliser avec set ps.default_encoding dans <link linkend="configuration.file">le fichier de configuration</link> pour utiliser par défaut l'encodage correct. </para> </refsect1> </refentry> <refentry id="function.imagepsfreefont"> <refnamediv> <refname>ImagePSFreeFont</refname> <refpurpose> Libère la mémoire occupée par une police PostScript Type 1. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>imagepsfreefont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Voir aussi <function>imagepsloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagepsloadfont"> <refnamediv> <refname>ImagePSLoadFont</refname> <refpurpose>Charge une police PostScript Type 1 depuis un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagepsloadfont</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Au cas où tout a bien marché, un index de police va être retourné, et pourra être utilisé pour des opérations ultérieures. Sinon, la fonction retourne <literal>FALSE</literal> et affiche un message décrivant ce qui est erroné. </para> <para> <programlisting role="php"><?php header("Content-type: image/jpeg"); $im = imagecreate(350, 45); $noir = imagecolorallocate($im, 0, 0, 0); $Blanc = imagecolorallocate($im, 255, 255, 255); $font = imagepsloadfont("bchbi.pfb"); imagepstext($im, "Test ... Ca marche!", $font, 32, $white, $black, 32, 32); imagepsfreefont($font); imagejpeg($im, ""); imagedestroy ($im);?< </programlisting> </para> <para> Voir aussi <function>imagepsfreefont</function>. </para> </refsect1> </refentry> <refentry id="function.imagepsextendfont"> <refnamediv> <refname>ImagePsExtendFont</refname> <refpurpose> Etend ou condense une police de caractères </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>imagepsextendfont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>float <parameter>extend</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepsextendfont</function> étend ou condense la police de caractères <parameter>font</parameter>. Si la valeur de <parameter>extend</parameter> est inférieure à 1, ce sera une condensation. </para> </refsect1> </refentry> <refentry id="function.imagepsslantfont"> <refnamediv> <refname>ImagePsSlantFont</refname> <refpurpose> Incline une police de caractères </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>imagepsslantfont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>float <parameter>slant</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepsslantfont</function> met en italique la police de caractères <parameter>font</parameter> avec le coefficient <parameter>slant</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagepstext"> <refnamediv> <refname>ImagePSText</refname> <refpurpose>Dessine un texte sur une image avec une police PostScript Type1.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagepstext</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>foreground</parameter></paramdef> <paramdef>int <parameter>background</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter> <optional>space</optional></parameter></paramdef> <paramdef>int <parameter> <optional>tightness</optional></parameter></paramdef> <paramdef>float <parameter> <optional>angle</optional></parameter></paramdef> <paramdef>int <parameter> <optional>antialias_steps</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>size</parameter> est exprimé en pixels. </para> <para> <parameter>foreground</parameter> est la couleur dans laquelle le texte va être dessiné. <parameter>background</parameter> est la couleur d'anti aliasing. Aucun pixel avec la couleur <parameter>background</parameter> n'est dessiné, ce qui fait que l'arrière-plan n'a pas besoin d'être dans une couleur fixe. </para> <para> Les coordonnées données (<parameter>x</parameter>, <parameter>y</parameter>) définissent l'origine du premier caractère (grossièrement, le coin inférieur gauche du caractère). Ceci est différent de la fonction <function>imagestring</function>, où (x, y) définissait le coin supérieur gauche du premier caractère. Reportez-vous à la documentation PostScript pour avoir des détails à propos des polices et de leurs tailles. </para> <para> <parameter>space</parameter> permet de changer la taille par défaut du caractère d'espacement. Cette valeur peut être négative. </para> <para> <parameter>tightness</parameter> permet de contrôler la quantité d'espace entre deux caractères. Cette valeur peut être négative. </para> <para> <parameter>angle</parameter> est en degrés. </para> <para> <parameter>antialias_steps</parameter> permet de contrôler le nombre de couleurs du texte anti-aliasé. Les valeurs autorisées sont 4 et 16. 16 est recommandé pour les polices de moins de 20 pixels, car l'effet est alors visible. Avec les tailles plus grandes, utilisez de préférence 4, qui est moins gourmande en ressources. </para> <para> Les paramètres <parameter>space</parameter> et <parameter>tightness</parameter> sont exprimés en unité d'espaces caractère, ce qui vaut 1/1000ème d'un em-carré ( ? ? ?). </para> <para> Les paramètres <parameter>space</parameter>, <parameter>tightness</parameter>, <parameter>angle</parameter> et <parameter>antialias</parameter> sont optionnels. </para> <para> <function>imagepstext</function> retourne un tableau contenant les éléments suivants : <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Abscisse inférieure gauche</entry> </row> <row> <entry>1</entry> <entry>Ordonnée inférieure gauche</entry> </row> <row> <entry>2</entry> <entry>Abscisse supérieure droite</entry> </row> <row> <entry>3</entry> <entry>Ordonnée supérieure droite</entry> </row> </tbody> </tgroup> </informaltable> </para> <para> Voir aussi <function>imagepsbbox</function>. </para> </refsect1> </refentry> <refentry id="function.imagerectangle"> <refnamediv> <refname>ImageRectangle</refname> <refpurpose>Dessine un rectangle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagerectangle</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagerectangle</function> dessine un rectangle dans la couleur <parameter>col</parameter>, dans l'image <parameter>im</parameter>, et en commençant au point supérieur gauche (<parameter>x1</parameter>, <parameter>y1</parameter>), et en finissant au point inférieur droit (<parameter>x2</parameter>,<parameter>y2</parameter>). Le coin supérieur gauche est l'origine (0,0). </para> </refsect1> </refentry> <refentry id="function.imagesetpixel"> <refnamediv> <refname>ImageSetPixel</refname> <refpurpose>Dessine un pixel.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesetpixel</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesetpixel</function> dessine un pixel au point (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter>, et avec la couleur <parameter>col</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. </para> </refsect1> </refentry> <refentry id="function.imagesetbrush"> <refnamediv> <refname>imagesetbrush</refname> <refpurpose>Modifie la brosse pour le dessin des lignes</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesetbrush</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>brush</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesetbrush</function> remplace la brosse courante pour le dessin des lignes par <parameter>brush</parameter>. Cette brosse sera alors utilisée avec les fonctions <function>imageline</function> et <function>imagepolygon</function>. </para> <note> <para> Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser les options IMG_COLOR_BRUSHED et IMG_COLOR_STYLEDBRUSHED des fonctions <function>imageline</function> et <function>imagepolygon</function>, avant d'avoir créé une nouvelle brosse. </para> </note> <note> <para> <function>imagesetbrush</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagesettile"> <refnamediv> <refname>ImageSetTile</refname> <refpurpose>Modifie l'image utilisée pour le carrelage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesettile</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>tile</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesettile</function> remplace l'image de carrelage courante par l'image <parameter>tile</parameter>, à utiliser dans tous les remplissages (comme avec les fonctions <function>imagefill</function> et <function>imagefilledpolygon</function>) lors des remplissages avec l'option <literal>IMG_COLOR_TILED</literal>. </para> <para> Une image de carrelage est une image utilisée pour remplir une zone, de manière répétitive. N'importe quelle image GD peut servir d'image de remplissage. L'utilisation de la couleur transparente (gérée avec la fonction <function>imagecolortransparent</function>) permet à certaines zones d'apparaître à travers le carrelage. </para> <note> <para> Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser l'option <literal>IMG_COLOR_TILED</literal> des fonctions <function>imagefill</function> et <function>imagefilledpolygon</function>, avant d'avoir créé une nouvelle brosse. </para> </note> <note> <para> <function>imagesettile</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagesetthickness"> <refnamediv> <refname>ImageSetThickness</refname> <refpurpose>Modifie l'épaisseur d'un trait</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>imagesetthickness</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>thickness</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesetthickness</function> modifie l'épaisseur du trait des lignes de l'image <parameter>im</parameter>. Cette épaisseur intervient dans les dessins de polygones, ellipses, cercles, rectangles, etc... <parameter>thickness</parameter> est en pixels. </para> <note> <para> <function>imagesetthickness</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagestring"> <refnamediv> <refname>ImageString</refname> <refpurpose>Dessine une chaîne horizontale.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagestring</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>s</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagestring</function> dessine une la chaîne sur une ligne horizontale, dans l'image <parameter>im</parameter>, aux coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)) dans la couleur <parameter>col</parameter>. Si l'argument de police vaut 1, 2, 3, 4 ou 5, une des polices par défaut sera utilisée). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagestringup"> <refnamediv> <refname>ImageStringUp</refname> <refpurpose>Dessine une chaîne verticale.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagestringup</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>s</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagestringup</function> dessine une chaîne sur une ligne verticale dans l'image <parameter>im</parameter> aux coordonnées (<parameter>x</parameter>, <parameter>y</parameter>) (l'origine est le coin supérieur gauche (0,0)) dans la couleur <parameter>col</parameter>. Si la police utilisée est 1, 2, 3, 4 ou 5, une police par défaut sera utilisée. </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagesx"> <refnamediv> <refname>ImageSX</refname> <refpurpose>Retourne la largeur d'une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesx</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesx</function> retourne la largeur de l'image référencée par <parameter>im</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagesy</function>. </para> </refsect1> </refentry> <refentry id="function.imagesy"> <refnamediv> <refname>ImageSY</refname> <refpurpose>Retourne la hauteur de l'image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesy</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesy</function> retourne la hauteur de l'image référencée par <parameter>im</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagesx</function>. </para> </refsect1> </refentry> <refentry id="function.imagettfbbox"> <refnamediv> <refname>ImageTTFBBox</refname> <refpurpose> Retourne le rectangle entourant un texte et dessiné avec une police TrueType. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagettfbbox</function></funcdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>angle</parameter></paramdef> <paramdef>string <parameter>fontfile</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagettfbbox</function> calcule et retourne le rectangle entourant le texte <parameter>text</parameter>, écrit avec une police truetype. <variablelist> <varlistentry> <term> <parameter>text</parameter> </term> <listitem> <simpara> La chaîne à mesurer. </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>size</parameter> </term> <listitem> <simpara> La taille de la police en pixel. </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>fontfile</parameter> </term> <listitem> <simpara> Le nom de la police TrueType (peut aussi être une URL.) </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>angle</parameter> </term> <listitem> <simpara>Angle en degré dans lequel le texte <parameter>text</parameter> va être mesuré. </simpara> </listitem> </varlistentry> </variablelist> <function>imagettfbbox</function> retourne une tableau avec 8 éléments, représentant les 4 sommets du rectangle ainsi défini. <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Coin inférieur gauche, abscisse</entry> </row> <row> <entry>1</entry> <entry>Coin inférieur gauche, ordonnée</entry> </row> <row> <entry>2</entry> <entry>Coin inférieur droit, abscisse</entry> </row> <row> <entry>3</entry> <entry>Coin inférieur droit, ordonnée</entry> </row> <row> <entry>4</entry> <entry>Coin supérieur droit, abscisse</entry> </row> <row> <entry>5</entry> <entry>Coin supérieur droit, ordonnée</entry> </row> <row> <entry>6</entry> <entry>Coin supérieur gauche, abscisse</entry> </row> <row> <entry>7</entry> <entry>Coin supérieur gauche, ordonnée</entry> </row> </tbody> </tgroup> </informaltable> Les positions des points sont relatives au texte <emphasis>text</emphasis>, indépendamment de l'angle : coin supérieur gauche faire référence au coin supérieur gauche du texte écrit horizontalement. </para> <para> <function>imagettfbbox</function> requiert les bibliothèques GD et Freetype. </para> <para> Voir aussi <function>imagettftext</function>. </para> </refsect1> </refentry> <refentry id="function.imagettftext"> <refnamediv> <refname>ImageTTFText</refname> <refpurpose>Dessine un texte avec une police TrueType.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagettftext</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>angle</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> <paramdef>string <parameter>fontfile</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagettftext</function> dessine la chaîne <parameter>text</parameter> dans l'image <parameter>im</parameter>, en commençant aux coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)), avec un angle de <parameter>angle</parameter>, et dans la couleur <parameter>col</parameter>, en utilisant la police TrueType identifiée par <parameter>fontfile</parameter>. </para> <para> Les coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) serviront de référence pour le premier caractère (en gros, le coin inférieur gauche du caractère). C'est différent de <function>imagestring</function>, qui utilise le coin supérieur droit. </para> <para> <parameter>angle</parameter> est donné en degrés, avec degré 0 pour un texte horizontal, et en comptant les angles dans le sens inverse des aiguilles d'une montre (sens direct). </para> <para> <parameter>fontfile</parameter> est le chemin jusqu'à la police TrueType à utiliser. </para> <para> <parameter>text</parameter> est le texte à dessiner, incluant aussi des séquences de caractères UTF-8 (de la forme: &#123; ) pour générer des caractères au-delà de 255. </para> <para> <parameter>col</parameter> est l'index de la couleur dans la palette. Utiliser des index négatifs, revient à supprimer l'anti-aliasing. </para> <para> <function>imagettftext</function> retourne un tableau de 8 éléments représentant les 4 points marquants les limites du texte. L'ordre des points est :supérieur gauche, supérieur droit, inférieur droit, inférieur gauche. Les points sont nommés relativement au texte à l'horizontale<function>imagecolorexact</function>. </para> <para> Cet exemple va générer une image <acronym>GIF</acronym> noire de 400x30 pixels, avec les mots "Test en cours...Oméga: &#937;" en police blanche, type Arial. <example> <title>Exemple avec <function>imagettftext</function></title> <programlisting role="php"><?php header("Content-type: image/gif"); $im = imagecreate(400,30); $black = imagecolorallocate($im, 0,0,0); $white = imagecolorallocate($im, 255,255,255); imagettftext($im, 20, 0, 10, 20, $white, "/path/arial.ttf", "Test en cours... Oméga: &#937;"); imagegif($im); imagedestroy($im);?> </programlisting> </example> </para> <para> <function>imagettftext</function> requiert les bibliothèques GD ainsi que <ulink url="&url.freetype;">FreeType</ulink>. </para> <para> Voir aussi <function>imagettfbbox</function>. </para> </refsect1> </refentry> <refentry id="function.imagetypes"> <refnamediv> <refname>ImageTypes</refname> <refpurpose> Retourne les types d'images supportés par la version courante de PHP </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagetypes</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>imagetypes</function> retourne un champs de bits correspondant aux formats d'images supportés par la version de GD utilisée. Les valeurs suivantes sont valables : <literal>IMG_GIF</literal> | <literal>IMG_JPG</literal> | <literal>IMG_PNG</literal> | <literal>IMG_WBMP</literal>. Pour vous assurer du support <acronym>PNG</acronym>, faites ceci : <example> <title>Exemple avec ImageTypes</title> <programlisting role="php"><?php if (imagetypes() & IMG_PNG) { echo "Le type PNG est supporté"; }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.jpeg2wbmp"> <refnamediv> <refname>JPEG2WBMP</refname> <refpurpose>Convertit une image JPEG en image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>jpeg2wbmp</function></funcdef> <paramdef>string <parameter>jpegname</parameter></paramdef> <paramdef>string <parameter>wbmpname</parameter></paramdef> <paramdef>int <parameter>d_height</parameter></paramdef> <paramdef>int <parameter>d_width</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jpeg2wbmp</function> convertit l'image JPEG du fichier <parameter>jpegname</parameter> au format WBMP, et la sauve dans le fichier <parameter>wbmpname</parameter>. Les paramètres <parameter>d_height</parameter> et <parameter>d_width</parameter> vous permettent de spécifier la hauteur et la largeur (respectivement) de l'image de destination. </para> <para> <note> <para> Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent. </para> </note> </para> <para> Voir aussi <function>png2wbmp</function>. </para> </refsect1> </refentry> <refentry id="function.png2wbmp"> <refnamediv> <refname>PNG2WBMP</refname> <refpurpose>Convertit une image PNG en image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>png2wbmp</function></funcdef> <paramdef>string <parameter>pngname</parameter></paramdef> <paramdef>string <parameter>wbmpname</parameter></paramdef> <paramdef>int <parameter>d_height</parameter></paramdef> <paramdef>int <parameter>d_width</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>png2wbmp</function> convertit l'image PNG du fichier <parameter>pngname</parameter> au format WBMP, et la sauve dans le fichier <parameter>wbmpname</parameter>. Les paramètres <parameter>d_height</parameter> et <parameter>d_width</parameter> vous permettent de spécifier la hauteur et la largeur (respectivement) de l'image de destination. </para> <para> <note> <para> Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent. </para> </note> </para> <para> Voir aussi <function>jpeg2wbmp</function>. </para> </refsect1> </refentry> <refentry id="function.read-exif-data"> <refnamediv> <refname>read_exif_data</refname> <refpurpose>Lit les en-têtes EXIF d'une image JPEG</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>read_exif_data</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>read_exif_data</function> lit les en-têtes EXIF de l'image <acronym>JPEG</acronym> nommée <parameter>filename</parameter>. Elle retourne un tableau associatif où les index sont les noms d'en-têtes EXIF, et les valeurs sont leur valeur associée. Les en-têtes EXIF sont souvent disponibles dans les images générées par les appareils photos numériques, mais chaque constructeur marque ses images d'une manière qui lui est propre : il est impossible de savoir quelles en-têtes seront présents. <example> <title>Exemple avec <function>read_exif_data</function></title> <programlisting role="php"><?php $exif = read_exif_data('p0001807.jpg'); while(list($k,$v)=each($exif)) { echo "$k: $v<br>\n"; }?> </programlisting> <simpara> Cet exemple va afficher : </simpara> <literallayout> <computeroutput>FileName: p0001807.jpgFileDateTime: 929353056FileSize: 378599CameraMake: Eastman Kodak CompanyCameraModel: KODAK DC265 ZOOM DIGITAL CAMERA (V01.00)DateTime: 1999:06:14 01:37:36Height: 1024Width: 1536IsColor: 1FlashUsed: 0FocalLength: 8.0mmRawFocalLength: 8ExposureTime: 0.004 s (1/250)RawExposureTime: 0.0040000001899898ApertureFNumber: f/ 9.5RawApertureFNumber: 9.5100002288818FocusDistance: 16.66mRawFocusDistance: 16.659999847412Orientation: 1ExifVersion: 0200 </computeroutput> </literallayout> </example> </para> <para> <note> <simpara> <function>read_exif_data</function> n'est disponible que sous PHP 4 , compilé avec <link linkend="install.configure.enable-exif">--enable-exif</link>. </simpara> <simpara> <function>read_exif_data</function> ne requiert pas la librairie GD. </simpara> </note> </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file
Index: phpdoc/fr/functions/array.xml diff -u phpdoc/fr/functions/array.xml:1.43 phpdoc/fr/functions/array.xml:1.44 --- phpdoc/fr/functions/array.xml:1.43 Sat Nov 10 16:49:49 2001 +++ phpdoc/fr/functions/array.xml Mon Nov 12 00:10:19 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.43 $ --> +<!-- $Revision: 1.44 $ --> <reference id="ref.array"> <title>Tableaux</title> <titleabbrev>Tableaux</titleabbrev> @@ -144,6 +144,148 @@ </para> </refsect1> </refentry> + <!-- + <refentry id="function.array-change-key-case"> + <refnamediv> + <refname>array_change_key_case</refname> + <refpurpose> + Retourne un tableau dont toutes les clés ont été forcées en + majuscules ou minuscules. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>array_change_key_case</function></funcdef> + <paramdef>array <parameter>input</parameter></paramdef> + <paramdef>int <parameter><optional>case</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>array_change_key_case</function> modifie les clés du + tableau <parameter>input</parameter>, et force leur type. + Le paramètre optionnel <parameter>case</parameter> + permet de forcer les chaînes de caractères en majuscules + <constant>CASE_UPPER</constant> ou minuscules + <constant>CASE_LOWER</constant>. La valeur par défaut + est <constant>CASE_LOWER</constant>. Cette fonction + laissera les clés numériques inchangées. + </para> + <para> + <example> + <title>Exemple avec <function>array_change_key_case</function></title> + <programlisting role="php"> +<?php +$input_array = array("PrEmIEr" => 1, "SecOnd" => 2); +print_r(array_change_key_case($input_array, CASE_UPPER); +?> + </programlisting> + </example> + L'exemple ci-dessus va afficher : + <informalexample> + <programlisting> +Array +( + [PREMIER] => 1 + [SECOND] => 2 +) + + </programlisting> + </informalexample> + </para> + </refsect1> + </refentry> + --> + <refentry id="function.array-chunk"> + <refnamediv> + <refname>array_chunk</refname> + <refpurpose>Sépare un tableau en tableaux de taille inférieure</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>array_chunk</function></funcdef> + <paramdef>array <parameter>input</parameter></paramdef> + <paramdef>int <parameter>size</parameter></paramdef> + <paramdef>bool <parameter><optional>preserve_keys</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>array_chunk</function> sépare le tableau + <parameter>input</parameter> en plusieurs tableaux de taille + <parameter>size</parameter>. Il est aussi possible que le + dernier tableau ait moins de valeurs. Le résultat est un + tableau multidimensionnel, indexé numériquement. + </para> + <para> + En passant la valeur &true; au paramètre optionnel + <parameter>preserve_keys</parameter>, vous pouvez forcer + PHP à préserver les clés originales du tableau + <parameter>input</parameter>. Si vous utilisez la valeur + par défaut (&false;), de nouveaux index numériques seront + fournis, commencant à 0. + </para> + <para> + <example> + <title>Exemple avec <function>array_chunk</function></title> + <programlisting role="php"> +<?php +$input_array = array('a', 'b', 'c', 'd', 'e'); +print_r(array_chunk($input_array, 2)); +print_r(array_chunk($input_array, 2, TRUE)); +?> + </programlisting> + </example> + L'exemple ci-dessus va afficher : + <informalexample> + <programlisting> +Array +( + [0] => Array + ( + [0] => a + [1] => b + ) + + [1] => Array + ( + [0] => c + [1] => d + ) + + [2] => Array + ( + [0] => e + ) + +) +Array +( + [0] => Array + ( + [0] => a + [1] => b + ) + + [1] => Array + ( + [2] => c + [3] => d + ) + + [2] => Array + ( + [4] => e + ) + +) + </programlisting> + </informalexample> + </para> + </refsect1> + </refentry> <refentry id="function.array-count-values"> <refnamediv> <refname>array_count_values</refname> @@ -2515,6 +2657,47 @@ </para> </refsect1> </refentry> + <!-- (temporarily?) undocumented + <refentry id="function.key-exists"> + <refnamediv> + <refname>key_exists</refname> + <refpurpose>Vérifie si une clé éxiste dans un tableau</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>key_exists</function></funcdef> + <paramdef>mixed <parameter>key</parameter></paramdef> + <paramdef>array <parameter>search</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>key_exists</function> retourne &true; s'il existe une + clé du nom de <parameter>key</parameter> dans le tableau + <parameter>search</parameter>. <parameter>key</parameter> + peut être n'importe quelle valeur valide d'index + de tableau. + </para> + <para> + <example> + <title>Exemple avec <function>key_exists</function></title> + <programlisting role="php"> +<?php +$search_array = array("premier" => 1, "second" => 4); +if (key_exists("premier", $search_array)) { + echo "L'élément 'premier' existe dans le tableau"; +} +?> + </programlisting> + </example> + </para> + <para> + See also <function>isset</function>. + </para> + </refsect1> + </refentry> + --> <refentry id="function.krsort"> <refnamediv> <refname>krsort</refname> Index: phpdoc/fr/functions/bc.xml diff -u phpdoc/fr/functions/bc.xml:1.6 phpdoc/fr/functions/bc.xml:1.7 --- phpdoc/fr/functions/bc.xml:1.6 Mon Jul 23 05:10:16 2001 +++ phpdoc/fr/functions/bc.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <reference id="ref.bc"> <title>Nombres de grande taille</title> <titleabbrev>BC math</titleabbrev> Index: phpdoc/fr/functions/bzip2.xml diff -u phpdoc/fr/functions/bzip2.xml:1.11 phpdoc/fr/functions/bzip2.xml:1.12 --- phpdoc/fr/functions/bzip2.xml:1.11 Mon Jul 16 12:46:10 2001 +++ phpdoc/fr/functions/bzip2.xml Mon Nov 12 00:10:20 2001 @@ -1,16 +1,18 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.12 $ --> <reference id="ref.bzip2"> <title>Compression Bzip2</title> <titleabbrev>Bzip2</titleabbrev> <partintro> <para> - Ce module utilise les fonctions de la librairie + Ce module utilise les fonctions de la librairie <ulink url="&url.bzip2;">bzip2</ulink>, de Julian Seward pour écrire et lire des fichier bzip2 (.bz2) de manière transparente. </para> <para> Le support <acronym>bzip2</acronym> par PHP n'est pas activé par défaut. Vous devez utiliser l'option de configuration - <link linkend="install.configure.with-bzip2-dir"><option role="configure">--with-bz2[=DIR]</option></link> + <link linkend="install.configure.with-bzip2-dir"><option role="configure">--with-bz2[=DIR]</option></link> lors de la compilation de PHP pour l'activer. Ce module requiert la librairie bzip2/libbzip2, version >= 1.0.x. </para> @@ -58,7 +60,7 @@ </funcprototype> </funcsynopsis> <para> - <function>bzclose</function> ferme le fichier bzip2 + <function>bzclose</function> ferme le fichier bzip2 représenté par le pointeur <parameter>bz</parameter>. </para> <para> @@ -70,7 +72,7 @@ valide, et avoir été ouvert avec <function>bzopen</function>. </para> <para> - Voir aussi + Voir aussi <function>bzopen</function>. </para> </refsect1> @@ -89,13 +91,13 @@ <paramdef>int <parameter><optional>blocksize</optional></parameter> </paramdef> - <paramdef>int + <paramdef>int <parameter><optional>workfactor</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> - <function>bzcompress</function> compresse la chaîne + <function>bzcompress</function> compresse la chaîne <parameter>source</parameter> et retourne les données ainsi encodée. </para> @@ -125,7 +127,7 @@ </example> </para> <para> - Voir aussi + Voir aussi <function>bzdecompress</function>. </para> </refsect1> @@ -147,15 +149,15 @@ </funcprototype> </funcsynopsis> <para> - <function>bzdecompress</function> décompresse la chaîne + <function>bzdecompress</function> décompresse la chaîne <parameter>source</parameter>, en supposant qu'elle a été compressée avec bzip2, puis la retourne. Si le paramètre optionnel <parameter>small</parameter> vaut <literal>TRUE</literal>, un autre algorithme de décompression sera utilisé : il consomme - moins de mémoire (le maximum demandé tombe autour de - 2300 ko), mais fonctionne globalement à la moitié de - la vitesse. Reportez-vous à la - <ulink url="&url.bzip2;">documentation bzip2</ulink> pour plus de + moins de mémoire (le maximum demandé tombe autour de + 2300 ko), mais fonctionne globalement à la moitié de + la vitesse. Reportez-vous à la + <ulink url="&url.bzip2;">documentation bzip2</ulink> pour plus de détails sur cette fonctionnalité. </para> <para> @@ -169,7 +171,7 @@ </example> </para> <para> - Voir aussi + Voir aussi <function>bzcompress</function>. </para> </refsect1> @@ -189,12 +191,12 @@ </funcsynopsis> <para> <function>bzerrno</function> retourne le numéro d'erreur - du fichier bz2 représenté par le pointeur + du fichier bz2 représenté par le pointeur <parameter>bz</parameter>. </para> <para> - Voir aussi - <function>bzerror</function> et + Voir aussi + <function>bzerror</function> et <function>bzerrstr</function>. </para> </refsect1> @@ -216,7 +218,7 @@ </funcsynopsis> <para> <function>bzerror</function> retourne le numéro et le message d'erreur - du fichier bz2 représenté par le pointeur + du fichier bz2 représenté par le pointeur <parameter>bz</parameter>. <function>bzerror</function> retourne un tableau associatif. </para> @@ -233,8 +235,8 @@ </example> </para> <para> - Voir aussi - <function>bzerrno</function> et + Voir aussi + <function>bzerrno</function> et <function>bzerrstr</function>. </para> </refsect1> @@ -254,12 +256,12 @@ </funcsynopsis> <para> <function>bzerrstr</function> retourne le message d'erreur - du fichier bz2 représenté par le pointeur + du fichier bz2 représenté par le pointeur <parameter>bz</parameter>. </para> <para> - Voir aussi - <function>bzerrno</function> et + Voir aussi + <function>bzerrno</function> et <function>bzerror</function>. </para> </refsect1> @@ -288,8 +290,8 @@ en cas de succès, et <literal>FALSE</literal> sinon. </para> <para> - Voir aussi - <function>bzread</function> et + Voir aussi + <function>bzread</function> et <function>bzwrite</function>. </para> </refsect1> @@ -310,7 +312,7 @@ </funcsynopsis> <para> <function>bzopen</function> ouvre un fichier bzip2 (.bz2) - en écriture ou en lecture. <parameter>filename</parameter> + en écriture ou en lecture. <parameter>filename</parameter> est le nom du fichier à ouvrir. <parameter>mode</parameter> est similaire au même paramètre de la fonction <function>fopen</function> (`r' pour lecture, `w' pour écriture, etc.). @@ -331,7 +333,7 @@ </example> </para> <para> - Voir aussi + Voir aussi <function>bzclose</function>. </para> </refsect1> @@ -347,20 +349,20 @@ <funcprototype> <funcdef>string <function>bzread</function></funcdef> <paramdef>resource <parameter>bz</parameter></paramdef> - <paramdef>int + <paramdef>int <parameter><optional>length</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> - <function>bzread</function> lit jusqu'à <parameter>length</parameter> - octets depuis le fichier bzip2, référencé par le pointeur - <parameter>bz</parameter>. La lecture s'arrête lorsque - <parameter>length</parameter> octets (non compressés) - ont été lus, qu'une erreur est rencontrée, - ou bien que la fin du fichier a été atteinte : - le premier des trois qui survient. Si le paramètre - optionnel <parameter>length</parameter> est omis, + <function>bzread</function> lit jusqu'à <parameter>length</parameter> + octets depuis le fichier bzip2, référencé par le pointeur + <parameter>bz</parameter>. La lecture s'arrête lorsque + <parameter>length</parameter> octets (non compressés) + ont été lus, qu'une erreur est rencontrée, + ou bien que la fin du fichier a été atteinte : + le premier des trois qui survient. Si le paramètre + optionnel <parameter>length</parameter> est omis, <function>bzread</function> lit 1024 octets (non compressés) en même temps. </para> @@ -377,8 +379,8 @@ </example> </para> <para> - Voir aussi - <function>bzwrite</function> et + Voir aussi + <function>bzwrite</function> et <function>bzopen</function>. </para> </refsect1> @@ -403,10 +405,10 @@ <para> <function>bzwrite</function> écrit le contenu de la chaîne <parameter>data</parameter> dans le fichier bzip2 représenté - par <parameter>bz</parameter>. Si le paramètre optionnel - <parameter>length</parameter> est fourni, l'écriture sera - arrêtée après l'écriture de - <parameter>length</parameter> octets (non compressés), + par <parameter>bz</parameter>. Si le paramètre optionnel + <parameter>length</parameter> est fourni, l'écriture sera + arrêtée après l'écriture de + <parameter>length</parameter> octets (non compressés), ou la fin de la chaîne (le premier qui survient). </para> <para> @@ -418,12 +420,12 @@ $bz = bzopen("/tmp/foo.bz2", "w"); bzwrite($bz, $str, strlen($str)); ?> - </programlisting> + </programlisting> </example> </para> <para> - Voir aussi - <function>bzread</function> et + Voir aussi + <function>bzread</function> et <function>bzopen</function>. </para> </refsect1> Index: phpdoc/fr/functions/calendar.xml diff -u phpdoc/fr/functions/calendar.xml:1.5 phpdoc/fr/functions/calendar.xml:1.6 --- phpdoc/fr/functions/calendar.xml:1.5 Sat Jul 7 18:22:02 2001 +++ phpdoc/fr/functions/calendar.xml Mon Nov 12 00:10:20 2001 @@ -1,543 +1 @@ - <reference id="ref.calendar"> - <title>Calendrier</title> - <titleabbrev>Calendrier</titleabbrev> - <partintro> - <para> - Les fonctions de calendrier ne sont disponibles que si - l'extension calendrier a été compilée. - Elle est située dans les sous-dossiers "dl" ou "ext" - de votre distribution de PHP. Lisez le fichier - README pour plus de détails. - </para> - <para> - L'extension de calendrier propose une série de fonctions - qui simplifie les conversions entre les différents formats - de calendrier. La référence est le nombre de jour du - calendrier Julien. C'est le nombre de jours depuis une date qui - commence bien au delà des dates les plus reculées - dont on a besoin (située en 4000 avant J.C.). Pour convertir - une date d'un calendrier à un autre, il faut d'abord la convertir - dans ce calendrier, puis convertir le résultat dans le calendrier - désiré. Attention, le nombre de jour du calendrier Julien - est un système très différent du calendrier Julien!. - Pour plus d'informations (en anglais), reportez vous à - <ulink url="&url.calendar;">&url.calendar;</ulink>. - Les traductions issues de ces pages seront mises entre guillemets. - </para> - </partintro> - <refentry id="function.jdtogregorian"> - <refnamediv> - <refname>JDToGregorian</refname> - <refpurpose> - Convertit le nombre de jours du calendrier Julien en date grégorienne. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtogregorian</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtogregorian</function> convertit le nombre de jours du - calendrier Julien en une chaîne contenant une date du calendrier - grégorien, au format "mois/jour/année". - </para> - </refsect1> - </refentry> - <refentry id="function.gregoriantojd"> - <refnamediv> - <refname>GregorianToJD</refname> - <refpurpose> - Convertit une date grégorienne en nombre de jours du calendrier julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>gregoriantojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - Intervalle de validité pour le calendrier grégorien : - 4714 avant JC à 9999 après JC.A.D. - </para> - <para> - Bien qu'il soit possible de manipuler des dates jusqu'en 4714 avant JC, - une telle utilisation n'est pas significative. En effet, ce calendrier fut - créé le 18 octobre 1582 après J.C. (ou 5 octobre 1582 - en calendrier grec). Certains pays ne l'acceptèrent que bien plus - tard. Par exemple, les britanniques n'y passèrent en 1752, les - Russes en 1918 et les Grecs en 1923. La plus part des pays européens - utilisaient le calendrier Julien avant le Grégorien. - <example> - <title>Fonctions calendrier</title> - <programlisting role="php"> -<?php -$jd = gregoriantojd(10,11,1970); -echo("$jd\n"); -$gregorian = jdtogregorian($jd); -echo("$gregorian\n"); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.jdtojulian"> - <refnamediv> - <refname>JDToJulian</refname> - <refpurpose> - Convertit le nombre de jours du calendrier Julien en date du calendrier - Julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtojulian</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtojulian</function> convertit le nombre de jours du calendrier - Julien en une chaîne contenant la date du calendrier Julien, au format - "mois/jour/année". - </para> - </refsect1> - </refentry> - <refentry id="function.juliantojd"> - <refnamediv> - <refname>JulianToJD</refname> - <refpurpose> - Convertit le nombre de jour du calendrier Julien en date du calendrier - Julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>juliantojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - Intervalle de validité du calendrier Julien : 4713 avant JC à - 9999 après J.C.. - </para> - <para> - Bien qu'il soit possible de manipuler des dates jusqu'en 4713 avant JC, - une telle utilisation n'est pas significative. En effet, ce calendrier fut - créé en 46 avant JC, et ses détails ne furent - finalisés qu'au plus tôt en 8 après JC, et probablement - pas avant le 4ème siècle après JC. De plus, le - début de l'année variait suivant les peuples, certains - n'acceptant pas janvier comme premier mois de l'année. - </para> - </refsect1> - </refentry> - <refentry id="function.jdtojewish"> - <refnamediv> - <refname>JDToJewish</refname> - <refpurpose> - Convertit le nombre de jours du calendrier julien en date du calendrier - juif. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtojewish</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtojewish</function> convertit le nombre de jours du calendrier - julien en date du calendrier juif. - </para> - </refsect1> - </refentry> - <refentry id="function.jewishtojd"> - <refnamediv> - <refname>JewishToJD</refname> - <refpurpose> - Convertit une date du calendrier juif en nombre de jours du calendrier julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>jewishtojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - Bien qu'il soit possible de manipuler des dates à partir de l'an 1 (3761 - avant JC), une telle utilisation a peu de sens. - </para> - <para> - Le calendrier juif a été utilisé depuis plusieurs - dizaines de siècles, mais dans les premiers temps, il n'y avait - pas de formule pour déterminer le début du mois. Un nouveau - mois commencait quand une nouvelle lune était observée. - </para> - </refsect1> - </refentry> - <refentry id="function.jdtofrench"> - <refnamediv> - <refname>JDToFrench</refname> - <refpurpose> - Convertit le nombre de jours du calendrier julien en date du calendrier - français républicain - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdtofrench</function></funcdef> - <paramdef>int <parameter>juliandaycount</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdtofrench</function> convertit le nombre de jours du calendrier - julien en date du calendrier français républicain. - </para> - </refsect1> - </refentry> - <refentry id="function.frenchtojd"> - <refnamediv> - <refname>FrenchToJD</refname> - <refpurpose> - Convertit une date du calendrier français républicain en nombre - de jours du calendrier julien. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>frenchtojd</function></funcdef> - <paramdef>int <parameter>month</parameter></paramdef> - <paramdef>int <parameter>day</parameter></paramdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - <function>frenchtojd</function> convertit une date du calendrier - français républicain en nombre de jour du calendrier julien. - </para> - <para> - Ces fonctions convertissent les dates comprises entre l'an 1 et l'an 14 - (22 September 1792 à 22 September 1806 en calendrier grégorien). - Cela couvre plus que la durée d'existence de ce calendrier. - </para> - </refsect1> - </refentry> - <refentry id="function.jdmonthname"> - <refnamediv> - <refname>JDMonthName</refname> - <refpurpose> Retourne le nom du mois. </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>jdmonthname</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcsynopsis> - <para> - <function>jdmonthname</function> retourne une chaîne contenant le - nom du mois. <parameter>mode</parameter> indique de quel calendrier - dépend ce mois, et quel type de nom doit être retourné. - <table> - <title>Modes de calendrier</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Mode</entry> - <entry>Signification</entry> - </row> - </thead> - <tbody> - <row> - <entry>0</entry> - <entry>Grégorien - abrégé</entry> - </row> - <row> - <entry>1</entry> - <entry>Grégorien</entry> - </row> - <row> - <entry>2</entry> - <entry>Julien - abrégé</entry> - </row> - <row> - <entry>3</entry> - <entry>Julien</entry> - </row> - <row> - <entry>4</entry> - <entry>Juif</entry> - </row> - <row> - <entry>5</entry> - <entry>Républicain français</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.jddayofweek"> - <refnamediv> - <refname>JDDayOfWeek</refname> - <refpurpose> - Retourne le numéro du jour de la semaine. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>mixed <function>jddayofweek</function></funcdef> - <paramdef>int <parameter>julianday</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcsynopsis> - <para> - <function>jddayofweek</function> retourne le numéro du jour de - la semaine. Peut retourner une chaîne ou un entier, en fonction - du mode. - <table> - <title>Modes</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Mode</entry> - <entry>Signification</entry> - </row> - </thead> - <tbody> - <row> - <entry>0</entry> - <entry>Retourne le numéro du jour comme un entier - (0=dimanche, 1=lundi, etc.) - </entry> - </row> - <row> - <entry>1</entry> - <entry>Retourne une chaîne contenant le nom du jour - (anglais grégorien) - </entry> - </row> - <row> - <entry>2</entry> - <entry>Retourne une chaîne contenant le nom abrégé du - jour de la semaine (anglais grégorien). - </entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.easter-date"> - <refnamediv> - <refname>easter_date</refname> - <refpurpose> - Retourne un timestamp UNIX pour Pàques, à minuit, pour une - année donnée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>easter_date</function></funcdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - <function>easter_date</function> retourne un timestamp UNIX pour Pàques, - à minuit, pour une année donnée. Si l'année n'est - pas précisée, c'est l'année en cours qui est - utilisée. - </para> - <para> - <emphasis>ATTENTION:</emphasis> <function>easter_date</function> - génére une alerte (Warning) si la date tombe hors de la - zone de validité des timestamp UNIX (i.e. avant 1970 ou - après 2037). - <example> - <title>Exemples avec <function>easter_date</function></title> - <programlisting role="php"> -echo date( "M-d-Y", easter_date(1999) ); /* "04 avril 1999" */ -echo date( "M-d-Y", easter_date(2000) ); /* "23 avril 2000" */ -echo date( "M-d-Y", easter_date(2001) ); /* "15 avril 2001" */ - </programlisting> - </example> - </para> - <para> - La date de Pàques a été fixée par le concile - de Nicée, en 325 de notre ère, comme étant le dimanche - après la première lune pleine qui suit l'équinoxe de - printemps. L'équinoxe de printemps est considéré - comme étant toujours le 21 mars, ce qui réduit le - problème au calcul de la date de la lune pleine qui suit, et le - dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius - Exiguus. Avec le calendrier Julien, (pour les années avant 1753), - un cycle de 19 ans suffit pour connaître les date des phases de la - lune. Avec le calendrier grégorien, (à partir des années - 1753, concu par Clavius et Lilius, puis introduit par le pape Gregoire XIII - en Octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), - deux facteurs de corrections ont été ajoutés pour rendre - le cycle plus précis. - </para> - <para> - (Ce code est basé sur le programme en C de Simon Kershaw, - <webmaster@ely.anglican.org>) - </para> - <para> - Voir <function>easter_days</function> pour les calculs de date de - Pàques avant 1970 et apres 2037. - </para> - </refsect1> - </refentry> - <refentry id="function.easter-days"> - <refnamediv> - <refname>easter_days</refname> - <refpurpose> - Retourne le nombre de jour entre le 21 Mars et Pàques, pour une - année donnée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>int <function>easter_days</function></funcdef> - <paramdef>int <parameter>year</parameter></paramdef> - </funcsynopsis> - <para> - <function>easter_days</function> retourne le nombre de jour entre le 21 Mars - et Pàques, pour une année donnée. Si l'année n'est - pas précisée, l'année en cours est utilisée par - défaut. - </para> - <para> - <function>easter_days</function> peut être utilisée à - la place de <function>easter_date</function> pour calculer la date de - Pàques, pour les années qui tombent hors de l'intervalle - de validité des timestamps UNIX (i.e. avant 1970 ou après 2037). - <example> - <title>Exemple avec <function>easter_days</function></title> - <programlisting role="php"> -<?php -echo easter_days(1999); /* 14, i.e. 4 Avril */ -echo easter_days(1492); /* 32, i.e. 22 Avril */ -echo easter_days(1913); /* 2, i.e. 23 Mars */ -?> - </programlisting> - </example> - </para> - <para> - La date de Pàques a été fixée par le concile - de Nicée, en 325 de notre ère, comme étant le dimanche - après la première lune pleine qui suit l'équinoxe de - printemps. L'équinoxe de printemps est considéré - comme étant toujours le 21 mars, ce qui réduit le - problème au calcul de la date de la lune pleine qui suit, et le - dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius - Exiguus. Avec le calendrier Julien, (pour les années avant 1753), - un cycle de 19 ans suffit pour connaître les date des phases de la - lune. Avec le calendrier grégorien, (à partir des années - 1753, concu par Clavius et Lilius, puis introduit par le pape Gregoire XIII - en Octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), - deux facteurs de corrections ont été ajoutés pour rendre - le cycle plus précis. - </para> - <para> - (Ce code est basé sur le programme en C de Simon Kershaw, - <webmaster@ely.anglican.org>) - </para> - <para> - Voir aussi <function>easter_date</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.unixtojd"> - <refnamediv> - <refname>unixtojd</refname> - <refpurpose>Convertit un timestamp UNIX en nombre de jours Julien</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>unixtojd</function></funcdef> - <paramdef>int - <parameter><optional>timestamp</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>unixtojd</function> retourne le nombre de jours juliens du - timestamp UNIX <parameter>timestamp</parameter> (nombre de secondes - depuis le 1/1/1970), ou pour le jour courant si - <parameter>timestamp</parameter> est omis. - </para> - <para> - Voir aussi <function>jdtounix</function>. - </para> - <note> - <para> - <function>unixtojd</function> n'est disponible qu'à partir de la - version PHP 4.0RC1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.jdtounix"> - <refnamediv> - <refname>jdtounix</refname> - <refpurpose>Convertit un nombre de jour Julien en timestamp UNIX</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>jdtounix</function></funcdef> - <paramdef>int <parameter>jday</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>jdtounix</function> retourne un timestamp UNIX - correspondant au nombre de jour julien <parameter>jday</parameter> - ou &false; si <parameter>jday</parameter> n'est pas dans l'intervalle de - validité de l'époque UNIX. (années grégorienne - entre 1970 et 2037 ou 2440588 <= <parameter>jday</parameter> <= 2465342 ). - </para> - <para> - Voir aussi <function>jdtounix</function>. - </para> - <note> - <para> - <function>jdtounix</function> n'est disponible qu'à partir de la - version PHP 4.0RC1. - </para> - </note> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --><reference id="ref.calendar"> <title>Calendrier</title> <titleabbrev>Calendrier</titleabbrev> <partintro> <para> Les fonctions de calendrier ne sont disponibles que si l'extension calendrier a été compilée. Elle est située dans les sous-dossiers "dl" ou "ext" de votre distribution de PHP. Lisez le fichier README pour plus de détails. </para> <para> L'extension de calendrier propose une série de fonctions qui simplifient les conversions entre les différents formats de calendrier. La référence est le nombre de jours du calendrier Julien. C'est le nombre de jours depuis une date qui commence bien au-delà des dates les plus reculées dont on a besoin (située en 4000 avant J.C.). Pour convertir une date d'un calendrier à un autre, il faut d'abord la convertir dans ce calendrier, puis convertir le résultat dans le calendrier désiré. Attention, le nombre de jours du calendrier Julien est un système très différent du calendrier Julien!. Pour plus d'informations (en anglais), reportez-vous à <ulink url="&url.calendar;">&url.calendar;</ulink>. Les traductions issues de ces pages seront mises entre guillemets. </para> </partintro> <refentry id="function.jdtogregorian"> <refnamediv> <refname>JDToGregorian</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date grégorienne. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtogregorian</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtogregorian</function> convertit le nombre de jours du calendrier Julien en une chaîne contenant une date du calendrier grégorien, au format "mois/jour/année". </para> </refsect1> </refentry> <refentry id="function.gregoriantojd"> <refnamediv> <refname>GregorianToJD</refname> <refpurpose> Convertit une date grégorienne en nombre de jours du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gregoriantojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Intervalle de validité pour le calendrier grégorien : 4714 avant JC à 9999 après JC.A.D. </para> <para> Bien qu'il soit possible de manipuler des dates jusqu'en 4714 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé le 18 octobre 1582 après J.C. (ou 5 octobre 1582 en calendrier grec). Certains pays ne l'acceptèrent que bien plus tard. Par exemple, les britanniques n'y passèrent en 1752, les Russes en 1918 et les Grecs en 1923. La plupart des pays européens utilisaient le calendrier Julien avant le Grégorien. <example> <title>Fonctions calendrier</title> <programlisting role="php"><?php$jd = gregoriantojd(10,11,1970);echo("$jd\n");$gregorian = jdtogregorian($jd);echo("$gregorian\n");?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.jdtojulian"> <refnamediv> <refname>JDToJulian</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtojulian</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtojulian</function> convertit le nombre de jours du calendrier Julien en une chaîne contenant la date du calendrier Julien, au format "mois/jour/année". </para> </refsect1> </refentry> <refentry id="function.juliantojd"> <refnamediv> <refname>JulianToJD</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>juliantojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Intervalle de validité du calendrier Julien : 4713 avant JC à 9999 après J.C.. </para> <para> Bien qu'il soit possible de manipuler des dates jusqu'en 4713 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé en 46 avant JC, et ses détails ne furent finalisés qu'au plus tôt en 8 après JC, et probablement pas avant le 4ème siècle après JC. De plus, le début de l'année variait suivant les peuples, certains n'acceptant pas janvier comme premier mois de l'année. </para> </refsect1> </refentry> <refentry id="function.jdtojewish"> <refnamediv> <refname>JDToJewish</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier juif. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtojewish</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtojewish</function> convertit le nombre de jours du calendrier Julien en date du calendrier juif. </para> </refsect1> </refentry> <refentry id="function.jewishtojd"> <refnamediv> <refname>JewishToJD</refname> <refpurpose> Convertit une date du calendrier juif en nombre de jours du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>jewishtojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Bien qu'il soit possible de manipuler des dates à partir de l'an 1 (3761 avant JC), une telle utilisation a peu de sens. </para> <para> Le calendrier juif a été utilisé depuis plusieurs dizaines de siècles, mais dans les premiers temps, il n'y avait pas de formule pour déterminer le début du mois. Un nouveau mois commencait quand une nouvelle lune était observée. </para> </refsect1> </refentry> <refentry id="function.jdtofrench"> <refnamediv> <refname>JDToFrench</refname> <refpurpose> Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdtofrench</function></funcdef> <paramdef>int <parameter>juliandaycount</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtofrench</function> convertit le nombre de jours du calendrier julien en date du calendrier français républicain. </para> </refsect1> </refentry> <refentry id="function.frenchtojd"> <refnamediv> <refname>FrenchToJD</refname> <refpurpose> Convertit une date du calendrier français républicain en nombre de jours du calendrier Julien. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>frenchtojd</function></funcdef> <paramdef>int <parameter>month</parameter></paramdef> <paramdef>int <parameter>day</parameter></paramdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>frenchtojd</function> convertit une date du calendrier français républicain en nombre de jours du calendrier Julien. </para> <para> Ces fonctions convertissent les dates comprises entre l'an 1 et l'an 14 (22 September 1792 à 22 September 1806 en calendrier grégorien). Cela couvre plus que la durée d'existence de ce calendrier. </para> </refsect1> </refentry> <refentry id="function.jdmonthname"> <refnamediv> <refname>JDMonthName</refname> <refpurpose>Retourne le nom du mois. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>jdmonthname</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdmonthname</function> retourne une chaîne contenant le nom du mois. <parameter>mode</parameter> indique de quel calendrier dépend ce mois, et quel type de nom doit être retourné. <table> <title>Modes de calendrier</title> <tgroup cols="2"> <thead> <row> <entry>Mode</entry> <entry>Signification</entry> </row> </thead> <tbody> <row> <entry>0</entry> <entry>Grégorien - abrégé</entry> </row> <row> <entry>1</entry> <entry>Grégorien</entry> </row> <row> <entry>2</entry> <entry>Julien - abrégé</entry> </row> <row> <entry>3</entry> <entry>Julien</entry> </row> <row> <entry>4</entry> <entry>Juif</entry> </row> <row> <entry>5</entry> <entry>Républicain français</entry> </row> </tbody> </tgroup> </table> </para> </refsect1> </refentry> <refentry id="function.jddayofweek"> <refnamediv> <refname>JDDayOfWeek</refname> <refpurpose> Retourne le numéro du jour de la semaine. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>jddayofweek</function></funcdef> <paramdef>int <parameter>julianday</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jddayofweek</function> retourne le numéro du jour de la semaine. Peut retourner une chaîne ou un entier, en fonction du mode. <table> <title>Modes</title> <tgroup cols="2"> <thead> <row> <entry>Mode</entry> <entry>Signification</entry> </row> </thead> <tbody> <row> <entry>0</entry> <entry>Retourne le numéro du jour comme un entier (0=dimanche, 1=lundi, etc.) </entry> </row> <row> <entry>1</entry> <entry>Retourne une chaîne contenant le nom du jour (anglais grégorien) </entry> </row> <row> <entry>2</entry> <entry>Retourne une chaîne contenant le nom abrégé du jour de la semaine (anglais grégorien). </entry> </row> </tbody> </tgroup> </table> </para> </refsect1> </refentry> <refentry id="function.easter-date"> <refnamediv> <refname>easter_date</refname> <refpurpose> Retourne un timestamp UNIX pour Pâques, à minuit </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>easter_date</function></funcdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>easter_date</function> retourne un timestamp UNIX pour Pâques, à minuit, pour une année donnée. Si l'année n'est pas précisée, c'est l'année en cours qui est utilisée. </para> <para> <emphasis>ATTENTION:</emphasis> <function>easter_date</function> génère une alerte (Warning) si la date tombe hors de la zone de validité des timestamp UNIX (i.e. avant 1970 ou après 2037). <example> <title>Exemples avec <function>easter_date</function></title> <programlisting role="php">echo date( "M-d-Y", easter_date(1999) ); /* "04 avril 1999" */echo date( "M-d-Y", easter_date(2000) ); /* "23 avril 2000" */echo date( "M-d-Y", easter_date(2001) ); /* "15 avril 2001" */ </programlisting> </example> </para> <para> La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les date des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis. </para> <para> (Ce code est basé sur le programme en C de Simon Kershaw, <webmaster@ely.anglican.org>) </para> <para> Voir <function>easter_days</function> pour les calculs de date de Pâques avant 1970 et après 2037. </para> </refsect1> </refentry> <refentry id="function.easter-days"> <refnamediv> <refname>easter_days</refname> <refpurpose> Retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>easter_days</function></funcdef> <paramdef>int <parameter>year</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>easter_days</function> retourne le nombre de jours entre le 21 Mars et Pâques, pour une année donnée. Si l'année n'est pas précisée, l'année en cours est utilisée par défaut. </para> <para> <function>easter_days</function> peut être utilisée à la place de <function>easter_date</function> pour calculer la date de Pâques, pour les années qui tombent hors de l'intervalle de validité des timestamps UNIX (i.e. avant 1970 ou après 2037). <example> <title>Exemple avec <function>easter_days</function></title> <programlisting role="php"><?php echo easter_days(1999); /* 14, i.e. 4 Avril */ echo easter_days(1492); /* 32, i.e. 22 Avril */ echo easter_days(1913); /* 2, i.e. 23 Mars */?> </programlisting> </example> </para> <para> La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les date des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis. </para> <para> (Ce code est basé sur le programme en C de Simon Kershaw, <webmaster@ely.anglican.org>) </para> <para> Voir aussi <function>easter_date</function>. </para> </refsect1> </refentry> <refentry id="function.unixtojd"> <refnamediv> <refname>unixtojd</refname> <refpurpose> Convertit un timestamp UNIX en nombre de jours Julien </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>unixtojd</function></funcdef> <paramdef>int <parameter><optional>timestamp</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>unixtojd</function> retourne le nombre de jours Juliens du timestamp UNIX <parameter>timestamp</parameter> (nombre de secondes depuis le 1/1/1970), ou pour le jour courant si <parameter>timestamp</parameter> est omis. </para> <para> Voir aussi <function>jdtounix</function>. </para> <para> <function>unixtojd</function> n'est disponible qu'à partir de la version PHP 4.0RC1. </para> <para> Voir aussi <function>easter_date</function>. </para> </refsect1> </refentry> <refentry id="function.jdtounix"> <refnamediv> <refname>jdtounix</refname> <refpurpose> Convertit un nombre de jours Julien en timestamp UNIX </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>jdtounix</function></funcdef> <paramdef>int <parameter>jday</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jdtounix</function> retourne un timestamp UNIX correspondant au nombre de jours Julien <parameter>jday</parameter> ou <literal>FALSE</literal> si <parameter>jday</parameter> n'est pas dans l'intervalle de validité de l'époque UNIX. (années grégoriennes entre 1970 et 2037 ou 2440588 <= <parameter>jday</parameter> <= 2465342 ). </para> <para> Voir aussi <function>jdtounix</function>. </para> <note> <para> <function>jdtounix</function> n'est disponible qu'à partir de la version PHP 4.0RC1. </para> </note> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/ccvs.xml diff -u phpdoc/fr/functions/ccvs.xml:1.6 phpdoc/fr/functions/ccvs.xml:1.7 --- phpdoc/fr/functions/ccvs.xml:1.6 Tue Mar 6 15:50:06 2001 +++ phpdoc/fr/functions/ccvs.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <!-- Documentation CCVS par Brendan W. McAdams <brendan@plexmedia.com> Copyright (c) 2000 par le PHP Group @@ -5,70 +7,71 @@ documentation originale pour PHP 3, qui nous a aidé à démarrer de fichier. --> - <reference id="ref.ccvs"> - <title>Paiement CCVS</title> - <titleabbrev>CCVS</titleabbrev> - <partintro> - <simpara> - Ces fonctions font l'interface avec les API CCVS, vous permettant - de travailler directement avec CCVS depuis vos scripts PHP. - CCVS est la solution apportée par <ulink url="&url.redhat;">RedHat</ulink> - au problème de l'intermediaire, lors du traitement de transactions - de cartes de crédit. Il vous permet travailler directment avec - les maisons de crédits, via votre boîte *nix et un modem. En utilisant - le module CCVS pour PHP, vous pouvez effectuer des transactions - avec les cartes de crédits, directement depuis vos scripts PHP via - CCVS. La suite vous montrera comment procéder. - </simpara> - <simpara> - Pour activer le support CCVS de PHP, commencez par vérifier votre - installation CCVS. Vous devez configurer PHP avec l'option <option - role="configure">--with-ccvs</option>. Si vous utilisez cette - option sans spécifier le chemin de votre installation, PHP essaiera - de la trouver à sa position par défaut (/usr/local/ccvs). Si CCVS est - installé dans un autre dossier, lancez la configuration avec : - <option role="configure">--with-ccvs=$ccvs_path</option>, où $ccvs_path - est le chemin de votre installation CCVS. Notez bien que CCVS requiert - que $ccvs_path/lib et $ccvs_path/include existent, et qu'ils contiennent - respectivement cv_api.h et libccvs.a sous include et lib. - </simpara> - <simpara> - De plus, un démon ccvsd doit être disponible sur votre configuration, - et qu'il soit accessible à vos scripts PHP. Assurez vous aussi que - l'utilisateur qui exécute les scripts PHP est le même que celui qui - a installé CCVS (i.e. si vous avez installé CCVS avec l'utilisateur 'ccvs', - vos scripts PHP doivent tourner aussi en 'ccvs'). - </simpara> - <simpara> - Plus de détails sur CCVS sont disponibles à <ulink - url="&url.redhat.ccvs;">&url.redhat.ccvs;</ulink>. - </simpara> - <simpara> - Cette documentation est en chantier. Jusqu'à sa finalisation, RedHat - entretient une version légèrement démodée - mais bien pratique à - <ulink url="&url.redhat.support;">&url.redhat.support;</ulink>. - </simpara> - </partintro> - - <refentry> - <refnamediv> - <refname></refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title></title> - <funcsynopsis> - <funcprototype> - <funcdef> <function></function></funcdef> - <paramdef> <parameter></parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsect1> - </refentry> - - </reference> - +<reference id="ref.ccvs"> + <title>Paiement CCVS</title> + <titleabbrev>CCVS</titleabbrev> + <partintro> + <simpara> + Ces fonctions font l'interface avec les API CCVS, vous permettant + de travailler directement avec CCVS depuis vos scripts PHP. + CCVS est la solution apportée par <ulink url="&url.redhat;">RedHat</ulink> + au problème de l'intermédiaire, lors du traitement de transactions + de cartes de crédit. Il vous permet travailler directement avec + les maisons de crédits, via votre boîte *nix et un modem. En utilisant + le module CCVS pour PHP, vous pouvez effectuer des transactions + avec les cartes de crédits, directement depuis vos scripts PHP via + CCVS. La suite vous montrera comment procéder. + </simpara> + <simpara> + Pour activer le support CCVS de PHP, commencez par vérifier votre + installation CCVS. Vous devez configurer PHP avec l'option + <link linkend="install.configure.with-ccvs"><option role="configure">--with-ccvs</option></link>. + Si vous utilisez cette + option sans spécifier le chemin de votre installation, PHP essaiera + de la trouver à sa position par défaut (/usr/local/ccvs). Si CCVS est + installé dans un autre dossier, lancez la configuration avec : + <link linkend="install.configure.with-ccvs"><option role="configure">--with-ccvs=$ccvs_path</option></link>, + où $ccvs_path est le chemin de votre installation CCVS. + Notez bien que CCVS requiert + que <filename>$ccvs_path/lib</filename> et <filename>$ccvs_path/include</filename> + existent, et qu'ils contiennent respectivement + <filename>cv_api.h</filename> et <filename>libccvs.a</filename> sous + <filename>include</filename> et <filename>lib</filename>. + </simpara> + <simpara> + De plus, un démon ccvsd doit être disponible sur votre configuration, + et qu'il soit accessible à vos scripts PHP. Assurez-vous aussi que + l'utilisateur qui exécute les scripts PHP est le même que celui qui + a installé CCVS (i.e. si vous avez installé CCVS avec l'utilisateur 'ccvs', + vos scripts PHP doivent tourner aussi en 'ccvs'). + </simpara> + <simpara> + Plus de détails sur CCVS sont disponibles à <ulink + url="&url.redhat.ccvs;">&url.redhat.ccvs;</ulink>. + </simpara> + <simpara> + Cette documentation est en chantier. Jusqu'à sa finalisation, RedHat + entretient une version légèrement démodée + mais bien pratique à + <ulink url="&url.redhat.support;">&url.redhat.support;</ulink>. + </simpara> + </partintro> + <refentry> + <refnamediv> + <refname></refname> + <refpurpose></refpurpose> + </refnamediv> + <refsect1> + <title></title> + <funcsynopsis> + <funcprototype> + <funcdef> <function></function></funcdef> + <paramdef> <parameter></parameter></paramdef> + </funcprototype> + </funcsynopsis> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml Index: phpdoc/fr/functions/classobj.xml diff -u phpdoc/fr/functions/classobj.xml:1.11 phpdoc/fr/functions/classobj.xml:1.12 --- phpdoc/fr/functions/classobj.xml:1.11 Wed Jul 25 15:38:55 2001 +++ phpdoc/fr/functions/classobj.xml Mon Nov 12 00:10:20 2001 @@ -1,616 +1 @@ -<reference id="ref.classobj"> - <title>Objets</title> - <titleabbrev>Classes et Objets</titleabbrev> - <partintro> - <sect1 id="classobj.partintro"> - <title>Introduction</title> - <sect2 id="classobj.intro"> - <title>About</title> - <para> - Ces fonctions permettent de gérer les classes et les objets. - Vous pouvez notamment connaître le nom de la classe d'un - objet, ses membres et ses méthodes, et tous les objets - parents (les classes qui sont étendues par la classe d'un objet). - </para> - </sect2> - <sect2 id="classobj.example"> - <title>Exemple d'utilisation</title> - <para> - Dans cet exemple, on définit une classe de base, et une - extension. La classe de base définit un légume, s'il est - mangeable ou pas, et sa couleur. La sous-classe - <varname>epinard</varname> ajoute une méthode pour le cuisiner, - et une autre pour savoir s'il est cuisiné. - </para> - <para> - <example> - <title>classes.inc</title> - <programlisting role="php"> -<?php -// classe de base, avec ses membres et ses méthodes -class Legume { - var $mangeable; - var $couleur; - function legume( $mangeable, $couleur="green" ) { - $this->mangeable = $mangeable; - $this->couleur = $couleur; - } - function est_mangeable() { - return $this->mangeable; - } - function quelle_couleur() { - return $this->couleur; - } -} // fin de la classe Legume -// extend la classe de base -class Epinard extends Legume { - var $cuit = <literal>FALSE</literal>; - function Epinard() { - $this->Legume( <literal>TRUE</literal>, "green" ); - } - function cuisine() { - $this->cuit = <literal>TRUE</literal>; - } - function est_cuit() { - return $this->cuit; - } -} // fin de la classe Epinard -?> - </programlisting> - </example> - </para> - <para> - Lorsqu'on instantie deux objets de ces classes, et qu'on affiche - leurs informations, on affiche aussi leur héritage. On définit ici - des utilitaires qui servent essentiellement à afficher ces - informations proprement. - </para> - <para> - <example> - <title>test_script.php</title> - <programlisting role="php"> -<pre> -<?php - include "classes.inc"; -// utilitaires - function print_vars($obj) { - $arr = get_object_vars($obj); - while (list($prop, $val) = each($arr)) - echo "\t$prop = $val\n"; - } - function print_methods($obj) { - $arr = get_class_methods(get_class($obj)); - foreach ($arr as $method) - echo "\tfunction $method()\n"; - } - function class_parentage($obj, $class) { - global $$obj; - if (is_subclass_of($$obj, $class)) { - echo "L'objet $obj belongs to class ".get_class($$obj); - echo " est une sous-classe de $class\n"; - } else { - echo "L'objet $obj n'est pas une sous classe $class\n"; - } - } -// instantie 2 objets - $legume = new Legume(TRUE,"blue"); - $feuilles = new Epinard(); -// affiche les informations sur ces objets - echo "legume: CLASS ".get_class($legume)."\n"; - echo "feuilles: CLASS ".get_class($feuilles); - echo ", PARENT ".get_parent_class($feuilles)."\n"; -// affiche les propriétés du légume - echo "\nlégume: Propriétés \n"; - print_vars($legume); -// et les méthodes de "feuilles" - echo "\nfeuilles: Methods\n"; - print_methods($feuilles); - echo "\nParentée:\n"; - class_parentage("feuilles", "Epinard"); - class_parentage("feuilles", "Legume"); -?> -</pre> - </programlisting> - </example> - </para> - <para> - Il est important de noter que dans les exemples ci-dessus, les objets - <varname>$feuilles</varname> sont une instance de - <classname>Epinard</classname> qui est une sous-classe de - <classname>Legume</classname>, donc la dernière partie du script - va afficher : - </para> - <para> - <informalexample> - <screen> - [...] - Parentée: - L'objet feuilles n'est pas une sous classe Spinach - L'objet feuilles est une sous-classe de Legume - </screen> - </informalexample> - </para> - </sect2> - </sect1> - </partintro> - <refentry id="function.call-user-method"> - <refnamediv> - <refname>call_user_method</refname> - <refpurpose> - Appelle une méthode utilisateur d'un objet - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed - <function>call_user_method</function> - </funcdef> - <paramdef>string - <parameter>method_name</parameter> - </paramdef> - <paramdef>object - <parameter>obj</parameter> - </paramdef> - <paramdef>mixed - <parameter><optional>parameter</optional></parameter> - </paramdef> - <paramdef>mixed - <parameter><optional>...</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Appelle la méthode <parameter>method_name</parameter> depuis l'objet - <parameter>obj</parameter>. Un exemple d'utilisation de cet objet - est présenté ci-dessous, où une classe est définie, puis instantiée. - On utilise alors <function>call_user_method</function> pour appeler - indirectement les méthodes <varname>print_info</varname>. - <informalexample> - <programlisting role="php"> -<?php -class Pays { - var $NOM; - var $TLD; - function Pays($nom, $tld) { - $this->NOM = $nom; - $this->TLD = $tld; - } - function print_info($prestr="") { - echo $prestr."Pays: ".$this->NOM."\n"; - echo $prestr."Nom de domaine: ".$this->TLD."\n"; - } -} -$unPays = new Pays("Pérou","pe"); -echo "* Appel de la méthode directement\n"; -$unPays->print_info(); -echo "\n* Appel de la méthode indirectement\n"; -call_user_method ("print_info", $unPays, "\t"); -?> - </programlisting> - </informalexample> - </para> - <simpara> - Voir aussi - <function>call_user_func_array</function>. - <function>call_user_func</function> et - <function>call_user_method_array</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.call-user-method-array"> - <refnamediv> - <refname>call_user_method_array</refname> - <refpurpose> - Appelle une méthode utilisateur avec un tableau de paramètres - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed - <function>call_user_method_array</function> - </funcdef> - <paramdef>string - <parameter>method_name</parameter> - </paramdef> - <paramdef>object - <parameter>obj</parameter> - </paramdef> - <paramdef>array - <parameter><optional>paramarr</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>call_user_method_array</function> appelle la méthode - <parameter>method_name</parameter> de l'object <parameter>obj</parameter>, - en utilisant les paramètres <parameter>paramarr</parameter>, rassemblés - sous forme de tableau. - </para> - <para> - Voir aussi - <function>call_user_func_array</function>, - <function>call_user_func</function> et - <function>call_user_method</function>. - </para> - <note> - <para> - <function>call_user_method_array</function> a été ajoutée en version - PHP 4.05. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.class-exists"> - <refnamediv> - <refname>class_exists</refname> - <refpurpose>Vérifie qu'une classe a été définie</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>class_exists</function></funcdef> - <paramdef>string <parameter>class_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>class_exists</function> retourne <literal>TRUE</literal> si la classe - <parameter>class_name</parameter> a été définie, et <literal>FALSE</literal> sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.get-class"> - <refnamediv> - <refname>get_class</refname> - <refpurpose>Retourne la classe d'un objet</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>get_class</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_class</function> retourne la classe de l'objet - <parameter>obj</parameter>. - </para> - <simpara> - Voir aussi - <function>get_parent_class</function> et - <function>is_subclass_of</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.get-class-methods"> - <refnamediv> - <refname>get_class_methods</refname> - <refpurpose>Retourne les noms des méthodes d'une classe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_class_methods</function></funcdef> - <paramdef>string <parameter>class_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_class_methods</function> retourne un tableau contenant les - noms des méthodes de la classe <parameter>class_name</parameter>. - </para> - <note> - <para> - A partir de PHP 4.0.6, vous pouvez spécifier l'objet lui-même, au lieu - de sa classe <parameter>class_name</parameter>. Par exemple : - <informalexample> - <programlisting role="php"> -<?php - $class_methods = get_class_methods($my_class); -?> - </programlisting> - </informalexample> - </para> - </note> - <para> - <example> - <title>Exemple avec <function>get_class_methods</function></title> - <programlisting role="php"> -<?php -class myclass { - // constructeur - function maclasse() { - return(TRUE); - } - // méthode 1 - function myfunc1() { - return(TRUE); - } - // méthode 2 - function mafunc2() { - return(TRUE); - } -} -$ma_classe = new maclasse(); -$class_methods = get_class_methods(get_class($ma_class)); -foreach ($class_methods as $method_name) { - echo "$method_name\n"; -} -?> - </programlisting> - </example> - </para> - <para> - Va afficher : - <informalexample> - <programlisting> -maclass -mafunc1 -mafunc2 - </programlisting> - </informalexample> - </para> - <simpara> - Voir aussi - <function>get_class_vars</function> et - <function>get_object_vars</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.get-class-vars"> - <refnamediv> - <refname>get_class_vars</refname> - <refpurpose> - Retourne les valeurs par défaut des attributs d'une classe. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_class_vars</function></funcdef> - <paramdef>string <parameter>class_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_class_vars</function> retourne un tableau contenant les - valeurs par défaut des attributs de la classe - <parameter>class_name</parameter>. - </para> - <note> - <para> - Les variables de classe qui ne sont pas encore initialisées ne seront pas - retournées par <function>get_class_vars</function>. - </para> - </note> - <para> - <example> - <title>Exemple <function>get_class_vars</function></title> - <programlisting role="php"> -<?php -class maclasse { - var $var1; // Pas de valeur par défaut - var $var2 = "xyz"; - var $var3 = 100; - // constructeur - function maclasse() { - return(TRUE); - } -} -$ma_classe = new maclasse(); -$class_vars = get_class_vars(get_class($ma_classe)); -foreach ($class_vars as $name => $value) { - echo "$name : $value\n"; -} -?> - </programlisting> - </example> - </para> - <para> - va afficher : - <informalexample> - <programlisting> -var2 : xyz -var3 : 100 - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.get-declared-classes"> - <refnamediv> - <refname>get_declared_classes</refname> - <refpurpose>Liste toutes les classes définies</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_declared_classes</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_declared_classes</function> retourne un tableau contenant - la liste des fonctions déclarées dans le script courant. - </para> - <note> - <para> - En PHP 4.0.1pl2, trois classes supplémentaires sont retournées, au - début de ce tableau : <classname>stdClass</classname> (définie dans - <filename>Zend/zend.c</filename>), - <classname>OverloadedTestClass</classname> (définie dans - <filename>ext/standard/basic_functions.c</filename>) - et <classname>Directory</classname> - (définie dans <filename>ext/standard/dir.c</filename>). - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.get-object-vars"> - <refnamediv> - <refname>get_object_vars</refname> - <refpurpose> - Retourne un tableau associatif des propriétés d'un objet - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>get_object_vars</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_object_vars</function> retourne un tableau associatif - contenant les propriétés de l'objet <parameter>obj</parameter>. - Les clés du tableau sont les noms des propriétés - de l'objet.Si des variables déclarées dans la classe de - l'objet <parameter>obj</parameter>, n'ont pas été - assignées, elles ne seront pas retournées dans le tableau. - <example> - <title>Exemple avec <function>get_object_vars</function></title> - <programlisting role="php"> -<?php -class Point2D { - var $x, $y; - var $nom; - function Point2D($x, $y) { - $this->x = $x; - $this->y = $y; - } - function donne_nom($nom) { - $this->nom = $nom; - } - function LitPoint() { - return array("x" -> $this->x, - "y" -> $this->y, - "nom" -> $this->nom); - } -} -$p1 = new Point2D(1.233, 3.445); -print_r(get_object_vars($p1)); -// "$nom" est déclaré, mais non défini -// Array -// ( -// [x] -> 1.233 -// [y] -> 3.445 -// ) -$p1->setnom("point #1"); -print_r(get_object_vars($p1)); -// Array -// ( -// [x] -> 1.233 -// [y] -> 3.445 -// [nom] -> point #1 -// ) -?> - </programlisting> - </example> - </para> - <simpara> - Voir aussi - <function>get_class_methods</function> et - <function>get_class_vars</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.get-parent-class"> - <refnamediv> - <refname>get_parent_class</refname> - <refpurpose>Retourne le nom de la classe d'un objet</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>get_parent_class</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>get_parent_class</function> retourne le nom de la classe - de l'objet <parameter>obj</parameter>. - </para> - <simpara> - Voir aussi - <function>get_class</function> et - <function>is_subclass_of</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.is-subclass-of"> - <refnamediv> - <refname>is_subclass_of</refname> - <refpurpose> - Détermine si un objet est une sous-classe - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_subclass_of</function></funcdef> - <paramdef>object <parameter>obj</parameter></paramdef> - <paramdef>string <parameter>superclass</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_subclass_of</function> retourne <literal>TRUE</literal> si l'objet - <parameter>obj</parameter> est une sous-classe de - <parameter>superclass</parameter>, <literal>FALSE</literal> sinon. - </para> - <simpara> - Voir aussi - <function>get_class</function> et - <function>get_parent_class</function> - </simpara> - </refsect1> - </refentry> - <refentry id="function.method-exists"> - <refnamediv> - <refname>method_exists</refname> - <refpurpose> - Vérifie que la méthode existe pour une classe. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>method_exists</function></funcdef> - <paramdef>object <parameter>object</parameter></paramdef> - <paramdef>string <parameter>method_name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>method_exists</function> retourne <literal>TRUE</literal> - si la méthode <parameter>method_name</parameter> a - été définie pour la classe - <parameter>object</parameter>, et sinon, retourne <literal>FALSE</literal>. - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.12 $ --><reference id="ref.classobj"> <title>Objets</title> <titleabbrev>Classes et Objets</titleabbrev> <partintro> <sect1 id="classobj.partintro"> <title>Introduction</title> <sect2 id="classobj.intro"> <title>About</title> <para> Ces fonctions permettent de gérer les classes et les objets. Vous pouvez notamment connaître le nom de la classe d'un objet, ses membres et ses méthodes, et tous les objets parents (les classes qui sont étendues par la classe d'un objet). </para> </sect2> <sect2 id="classobj.example"> <title>Exemple d'utilisation</title> <para> Dans cet exemple, on définit une classe de base, et une extension. La classe de base définit un légume, s'il est mangeable ou pas, et sa couleur. La sous-classe <varname>epinard</varname> ajoute une méthode pour le cuisiner, et une autre pour savoir s'il est cuisiné. </para> <para> <example> <title>classes.inc</title> <programlisting role="php"><?php// classe de base, avec ses membres et ses méthodesclass Legume { var $mangeable; var $couleur; function legume( $mangeable, $couleur="green" ) { $this->mangeable = $mangeable; $this->couleur = $couleur; } function est_mangeable() { return $this->mangeable; } function quelle_couleur() { return $this->couleur; }} // fin de la classe Legume// extend la classe de baseclass Epinard extends Legume { var $cuit = <literal>FALSE</literal>; function Epinard() { $this->Legume( <literal>TRUE</literal>, "green" ); } function cuisine() { $this->cuit = <literal>TRUE</literal>; } function est_cuit() { return $this->cuit; }} // fin de la classe Epinard?> </programlisting> </example> </para> <para> Lorsqu'on instantie deux objets de ces classes, et qu'on affiche leurs informations, on affiche aussi leur héritage. On définit ici des utilitaires qui servent essentiellement à afficher ces informations proprement. </para> <para> <example> <title>test_script.php</title> <programlisting role="php"><pre><?php include "classes.inc";// utilitaires function print_vars($obj) { $arr = get_object_vars($obj); while (list($prop, $val) = each($arr)) echo "\t$prop = $val\n"; } function print_methods($obj) { $arr = get_class_methods(get_class($obj)); foreach ($arr as $method) echo "\tfunction $method()\n"; } function class_parentage($obj, $class) { global $$obj; if (is_subclass_of($$obj, $class)) { echo "L'objet $obj belongs to class ".get_class($$obj); echo " est une sous-classe de $class\n"; } else { echo "L'objet $obj n'est pas une sous classe $class\n"; } }// instantie 2 objets $legume = new Legume(TRUE,"blue"); $feuilles = new Epinard();// affiche les informations sur ces objets echo "legume: CLASS ".get_class($legume)."\n"; echo "feuilles: CLASS ".get_class($feuilles); echo ", PARENT ".get_parent_class($feuilles)."\n";// affiche les propriétés du légume echo "\nlégume: Propriétés \n"; print_vars($legume);// et les méthodes de "feuilles" echo "\nfeuilles: Methods\n"; print_methods($feuilles); echo "\nParentée:\n"; class_parentage("feuilles", "Epinard"); class_parentage("feuilles", "Legume");?></pre> </programlisting> </example> </para> <para> Il est important de noter que dans les exemples ci-dessus, les objets <varname>$feuilles</varname> sont une instance de <classname>Epinard</classname> qui est une sous-classe de <classname>Legume</classname>, donc la dernière partie du script va afficher : </para> <para> <informalexample> <screen> [...] Parentée: L'objet feuilles n'est pas une sous classe Spinach L'objet feuilles est une sous-classe de Legume </screen> </informalexample> </para> </sect2> </sect1> </partintro> <refentry id="function.call-user-method"> <refnamediv> <refname>call_user_method</refname> <refpurpose> Appelle une méthode utilisateur d'un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>call_user_method</function> </funcdef> <paramdef>string <parameter>method_name</parameter> </paramdef> <paramdef>object <parameter>obj</parameter> </paramdef> <paramdef>mixed <parameter><optional>parameter</optional></parameter> </paramdef> <paramdef>mixed <parameter><optional>...</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Appelle la méthode <parameter>method_name</parameter> depuis l'objet <parameter>obj</parameter>. Un exemple d'utilisation de cet objet est présenté ci-dessous, où une classe est définie, puis instantiée. On utilise alors <function>call_user_method</function> pour appeler indirectement les méthodes <varname>print_info</varname>. <informalexample> <programlisting role="php"><?phpclass Pays { var $NOM; var $TLD; function Pays($nom, $tld) { $this->NOM = $nom; $this->TLD = $tld; } function print_info($prestr="") { echo $prestr."Pays: ".$this->NOM."\n"; echo $prestr."Nom de domaine: ".$this->TLD."\n"; }}$unPays = new Pays("Pérou","pe");echo "* Appel de la méthode directement\n";$unPays->print_info();echo "\n* Appel de la méthode indirectement\n";call_user_method ("print_info", $unPays, "\t");?> </programlisting> </informalexample> </para> <simpara> Voir aussi <function>call_user_func_array</function>. <function>call_user_func</function> et <function>call_user_method_array</function>. </simpara> </refsect1> </refentry> <refentry id="function.call-user-method-array"> <refnamediv> <refname>call_user_method_array</refname> <refpurpose> Appelle une méthode utilisateur avec un tableau de paramètres </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>call_user_method_array</function> </funcdef> <paramdef>string <parameter>method_name</parameter> </paramdef> <paramdef>object <parameter>obj</parameter> </paramdef> <paramdef>array <parameter><optional>paramarr</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>call_user_method_array</function> appelle la méthode <parameter>method_name</parameter> de l'object <parameter>obj</parameter>, en utilisant les paramètres <parameter>paramarr</parameter>, rassemblés sous forme de tableau. </para> <para> Voir aussi <function>call_user_func_array</function>, <function>call_user_func</function> et <function>call_user_method</function>. </para> <note> <para> <function>call_user_method_array</function> a été ajoutée en version PHP 4.05. </para> </note> </refsect1> </refentry> <refentry id="function.class-exists"> <refnamediv> <refname>class_exists</refname> <refpurpose>Vérifie qu'une classe a été définie</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>class_exists</function></funcdef> <paramdef>string <parameter>class_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>class_exists</function> retourne <literal>TRUE</literal> si la classe <parameter>class_name</parameter> a été définie, et <literal>FALSE</literal> sinon. </para> </refsect1> </refentry> <refentry id="function.get-class"> <refnamediv> <refname>get_class</refname> <refpurpose>Retourne la classe d'un objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>get_class</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_class</function> retourne la classe de l'objet <parameter>obj</parameter>. </para> <simpara> Voir aussi <function>get_parent_class</function> et <function>is_subclass_of</function> </simpara> </refsect1> </refentry> <refentry id="function.get-class-methods"> <refnamediv> <refname>get_class_methods</refname> <refpurpose>Retourne les noms des méthodes d'une classe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_class_methods</function></funcdef> <paramdef>string <parameter>class_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_class_methods</function> retourne un tableau contenant les noms des méthodes de la classe <parameter>class_name</parameter>. </para> <note> <para> A partir de PHP 4.0.6, vous pouvez spécifier l'objet lui-même, au lieu de sa classe <parameter>class_name</parameter>. Par exemple : <informalexample> <programlisting role="php"><?php $class_methods = get_class_methods($my_class);?> </programlisting> </informalexample> </para> </note> <para> <example> <title>Exemple avec <function>get_class_methods</function></title> <programlisting role="php"><?phpclass myclass { // constructeur function maclasse() { return(TRUE); } // méthode 1 function myfunc1() { return(TRUE); } // méthode 2 function mafunc2() { return(TRUE); }}$ma_classe = new maclasse();$class_methods = get_class_methods(get_class($ma_class));foreach ($class_methods as $method_name) { echo "$method_name\n";}?> </programlisting> </example> </para> <para> Va afficher : <informalexample> <programlisting>maclassmafunc1mafunc2 </programlisting> </informalexample> </para> <simpara> Voir aussi <function>get_class_vars</function> et <function>get_object_vars</function> </simpara> </refsect1> </refentry> <refentry id="function.get-class-vars"> <refnamediv> <refname>get_class_vars</refname> <refpurpose> Retourne les valeurs par défaut des attributs d'une classe. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_class_vars</function></funcdef> <paramdef>string <parameter>class_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_class_vars</function> retourne un tableau contenant les valeurs par défaut des attributs de la classe <parameter>class_name</parameter>. </para> <note> <para> Les variables de classe qui ne sont pas encore initialisées ne seront pas retournées par <function>get_class_vars</function>. </para> </note> <para> <example> <title>Exemple <function>get_class_vars</function></title> <programlisting role="php"><?phpclass maclasse { var $var1; // Pas de valeur par défaut var $var2 = "xyz"; var $var3 = 100; // constructeur function maclasse() { return(TRUE); }}$ma_classe = new maclasse();$class_vars = get_class_vars(get_class($ma_classe));foreach ($class_vars as $name => $value) { echo "$name : $value\n";}?> </programlisting> </example> </para> <para> va afficher : <informalexample> <programlisting>var2 : xyzvar3 : 100 </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.get-declared-classes"> <refnamediv> <refname>get_declared_classes</refname> <refpurpose>Liste toutes les classes définies</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_declared_classes</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>get_declared_classes</function> retourne un tableau contenant la liste des fonctions déclarées dans le script courant. </para> <note> <para> En PHP 4.0.1pl2, trois classes supplémentaires sont retournées, au début de ce tableau : <classname>stdClass</classname> (définie dans <filename>Zend/zend.c</filename>), <classname>OverloadedTestClass</classname> (définie dans <filename>ext/standard/basic_functions.c</filename>) et <classname>Directory</classname> (définie dans <filename>ext/standard/dir.c</filename>). </para> </note> </refsect1> </refentry> <refentry id="function.get-object-vars"> <refnamediv> <refname>get_object_vars</refname> <refpurpose> Retourne un tableau associatif des propriétés d'un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>get_object_vars</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_object_vars</function> retourne un tableau associatif contenant les propriétés de l'objet <parameter>obj</parameter>. Les clés du tableau sont les noms des propriétés de l'objet.Si des variables déclarées dans la classe de l'objet <parameter>obj</parameter>, n'ont pas été assignées, elles ne seront pas retournées dans le tableau. <example> <title>Exemple avec <function>get_object_vars</function></title> <programlisting role="php"><?phpclass Point2D { var $x, $y; var $nom; function Point2D($x, $y) { $this->x = $x; $this->y = $y; } function donne_nom($nom) { $this->nom = $nom; } function LitPoint() { return array("x" -> $this->x, "y" -> $this->y, "nom" -> $this->nom); }}$p1 = new Point2D(1.233, 3.445);print_r(get_object_vars($p1));// "$nom" est déclaré, mais non défini// Array// (// [x] -> 1.233// [y] -> 3.445// )$p1->setnom("point #1");print_r(get_object_vars($p1));// Array// (// [x] -> 1.233// [y] -> 3.445// [nom] -> point #1// )?> </programlisting> </example> </para> <simpara> Voir aussi <function>get_class_methods</function> et <function>get_class_vars</function> </simpara> </refsect1> </refentry> <refentry id="function.get-parent-class"> <refnamediv> <refname>get_parent_class</refname> <refpurpose>Retourne le nom de la classe d'un objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>get_parent_class</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>get_parent_class</function> retourne le nom de la classe de l'objet <parameter>obj</parameter>. </para> <simpara> Voir aussi <function>get_class</function> et <function>is_subclass_of</function> </simpara> </refsect1> </refentry> <refentry id="function.is-subclass-of"> <refnamediv> <refname>is_subclass_of</refname> <refpurpose> Détermine si un objet est une sous-classe </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_subclass_of</function></funcdef> <paramdef>object <parameter>obj</parameter></paramdef> <paramdef>string <parameter>superclass</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_subclass_of</function> retourne <literal>TRUE</literal> si l'objet <parameter>obj</parameter> est une sous-classe de <parameter>superclass</parameter>, <literal>FALSE</literal> sinon. </para> <simpara> Voir aussi <function>get_class</function> et <function>get_parent_class</function> </simpara> </refsect1> </refentry> <refentry id="function.method-exists"> <refnamediv> <refname>method_exists</refname> <refpurpose> Vérifie que la méthode existe pour une classe. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>method_exists</function></funcdef> <paramdef>object <parameter>object</parameter></paramdef> <paramdef>string <parameter>method_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>method_exists</function> retourne <literal>TRUE</literal> si la méthode <parameter>method_name</parameter> a été définie pour la classe <parameter>object</parameter>, et sinon, retourne <literal>FALSE</literal>. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/com.xml diff -u phpdoc/fr/functions/com.xml:1.5 phpdoc/fr/functions/com.xml:1.6 --- phpdoc/fr/functions/com.xml:1.5 Sat Jul 7 18:22:02 2001 +++ phpdoc/fr/functions/com.xml Mon Nov 12 00:10:20 2001 @@ -1,200 +1 @@ - <reference id="ref.com"> - <title>Support COM pour Windows</title> - <titleabbrev>COM</titleabbrev> - <partintro> - <simpara> - Ces fonctions ne sont disponibles que sous les versions Windows de PHP. - Elles ont été ajoutées dans PHP 4. - </simpara> - </partintro> - <refentry id="function.com-load"> - <refnamediv> - <refname>com_load</refname> - <refpurpose> - Crée une référence sur un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>com_load</function></funcdef> - <paramdef>string <parameter>module_name</parameter></paramdef> - <paramdef>string - <parameter><optional>server_name</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_load</function> crée une nouvelle référence - au composant COM <parameter>module_name</parameter>, et - retourne une référence dessus. - <function>com_load</function> retourne - &false; en cas d'échec. - </para> - </refsect1> - </refentry> - <refentry id="function.com-invoke"> - <refnamediv> - <refname>com_invoke</refname> - <refpurpose> - Appelle une méthode d'un composant - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>com_invoke</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>function_name</parameter></paramdef> - <paramdef>mixed - <parameter> - <optional>function parameters, ...</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_invoke</function> appelle la méthode - <parameter>function_name</parameter> du composant COM - <parameter>com_object</parameter>. <function>com_invoke</function> - retourne &false; en cas d'erreur, sinon retourne - le résultat de la fonction <parameter>function_name</parameter> - en cas de succès. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propget"> - <refnamediv> - <refname>com_propget</refname> - <refpurpose> - Lit la valeur d'un propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>com_propget</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_propget</function> est un alias de <function>com_get</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.com-get"> - <refnamediv> - <refname>com_get</refname> - <refpurpose> - Lit la valeur d'un propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>com_get</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_get</function> retourne la valeur de la propriété - <parameter>property</parameter> du composant COM - <parameter>com_object</parameter>. - <function>com_get</function> retourne &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propput"> - <refnamediv> - <refname>com_propput</refname> - <refpurpose> - Modifie une propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>com_propput</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - <paramdef>mixed <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_propput</function> est un alias de <function>com_set</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propset"> - <refnamediv> - <refname>com_propset</refname> - <refpurpose> - Modifie une propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>com_propset</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - <paramdef>mixed <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Cette fonction est un alias de <function>com_propput</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.com-set"> - <refnamediv> - <refname>com_set</refname> - <refpurpose> - Modifie une propriété d'un composant COM - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>com_set</function></funcdef> - <paramdef>resource <parameter>com_object</parameter></paramdef> - <paramdef>string <parameter>property</parameter></paramdef> - <paramdef>mixed <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>com_set</function> remplace la valeur de la - propriété <parameter>property</parameter> du - composante COM <parameter>com_object</parameter> par - <parameter>value</parameter>. <function>com_set</function> retourne - &true; en cas de succès, et - &false; sinon. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --><reference id="ref.com"> <title>Support COM pour Windows</title> <titleabbrev>COM</titleabbrev> <partintro> <simpara> Les fonctions COM sont uniquement disponibles sur les versions Windows de PHP. Elles ont été ajoutées à partir de PHP 4.0. </simpara> </partintro> <refentry id="class.com"> <refnamediv> <refname>COM</refname> <refpurpose>Classe COM</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis>$obj = new <classname>COM</classname>("server.object")</synopsis> </refsynopsisdiv> <refsect1 id="class.com.class"> <title>Description</title> <simpara> La classe COM fournit un environnement d'intégration des composants (D)COM dans vos scripts PHP. </simpara> </refsect1> <refsect1 id="class.com.constructor"> <title>Methods</title> <funcsynopsis> <funcprototype> <funcdef>string <function>com::com</function></funcdef> <paramdef>string <parameter>module_name</parameter></paramdef> <paramdef>string <parameter><optional>server_name</optional></parameter></paramdef> <paramdef>int <parameter><optional>codepage</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> Constructeur de la classe COM. Paramètres : <variablelist> <varlistentry><term>module_name</term> <listitem> <simpara> nom ou class-id du composant deamndé. </simpara> </listitem> </varlistentry> <varlistentry><term>server_name</term> <listitem> <simpara> nom du serveur DCOM, auprès duquel le composant doit être sollicité. Si ce paramètre est &null;, <literal>localhost</literal> sera utilisé. Pour que les objets DCOM soient accessibles; il faut que <constant>com.allow_dcom</constant> ait la valeur &true; dans le fichier <filename>php.ini</filename>. </simpara> </listitem> </varlistentry> <varlistentry><term>codepage</term> <listitem> <simpara> spécifie le code qui est utilisé pour transformer les chaînes de caractères PHP en chaînes unicode, et vice-versa. Les valeurs possibles sont <constant>CP_ACP</constant>, <constant>CP_MACCP</constant>, <constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>, <constant>CP_THREAD_ACP</constant>, <constant>CP_UTF7</constant> et <constant>CP_UTF8</constant>. </simpara> </listitem> </varlistentry> </variablelist> </para> <para> <example id="example.com1"> <title>Exemple COM (1)</title> <programlisting role="php"><?php// démarrage de Word$word = new COM("word.application") or die("Unable to instanciate Word");print "Word lancé, version {$word->Version}\n";//amener Word devant$word->Visible = 1;//cree un document vide$word->Documents->Add();//Quelques commandes$word->Selection->TypeText("Ceci est un test...");$word->Documents[1]->SaveAs("test.doc");//Fermeture de word$word->Quit();//Libération des ressources$word->Release();$word = null;?> </programlisting> </example> </para> <para> <example id="example.com2"> <title>Example COM (2)</title> <programlisting role="php"><?php$conn = new COM("ADODB.Connection") or die("Cannot start ADO");$conn->Open("Provider=SQLOLEDB; Data Source=localhost;Initial Catalog=database; User ID=user; Password=password");$rs = $conn->Execute("SELECT * FROM sometable"); // Recordset$num_columns = $rs->Fields->Count();echo $num_columns . "\n";for ($i=0; $i < $num_columns; $i++){ $fld[$i] = $rs->Fields($i);}$rowcount = 0;while (!$rs->EOF){ for ($i=0; $i < $num_columns; $i++) { echo $fld[$i]->value . "\t"; } echo "\n"; $rowcount++; // incrémente le nombre de lignes $rs->MoveNext();}$rs->Close();$conn->Close();$rs->Release();$conn->Release();$rs = null;$conn = null;?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="class.variant"> <refnamediv> <refname>VARIANT</refname> <refpurpose>classe VARIANT</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis>$vVar = new <classname>VARIANT</classname>($var)</synopsis> </refsynopsisdiv> <refsect1 id="class.variant.class"> <title>Description</title> <simpara> Une classe container qui transforme les variables en structures VARIANT. </simpara> </refsect1> <refsect1 id="class.variant.constructor"> <title>Methodes</title> <funcsynopsis> <funcprototype> <funcdef>string <function>variant::variant</function></funcdef> <paramdef>mixed <parameter><optional>value</optional></parameter></paramdef> <paramdef>int <parameter><optional>type</optional></parameter></paramdef> <paramdef>int <parameter><optional>codepage</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> Constructeur VARIANT. Paramètres: <variablelist> <varlistentry><term>value</term> <listitem> <simpara> valeur initiale. Si omis, un objet VT_EMPTY. </simpara> </listitem> </varlistentry> <varlistentry><term>type</term> <listitem> <simpara> spécifie le type d'objet VARIANT contenu. Les valeurs possibles <constant>VT_UI1</constant>, <constant>VT_UI2</constant>, <constant>VT_UI4</constant>, <constant>VT_I1</constant>, <constant>VT_I2</constant>, <constant>VT_I4</constant>, <constant>VT_R4</constant>, <constant>VT_R8</constant>, <constant>VT_INT</constant>, <constant>VT_UINT</constant>, <constant>VT_BOOL</constant>, <constant>VT_ERROR</constant>, <constant>VT_CY</constant>, <constant>VT_DATE</constant>, <constant>VT_BSTR</constant>, <constant>VT_DECIMAL</constant>, <constant>VT_UNKNOWN</constant>, <constant>VT_DISPATCH</constant> et <constant>VT_VARIANT</constant>. Ces valeurs sont mutuellement exclusives, mais elles peuvent être combinées avec <constant>VT_BYREF</constant> pour spécifier que c'est une valeur. Si omis le type de <parameter>value</parameter> est utilisé. Consultez la librairy MSDN pour plus de détails. </simpara> </listitem> </varlistentry> <varlistentry><term>codepage</term> <listitem> <simpara> spécifie le code qui est utilisé pour transformer les chaînes de caractères PHP en chaînes unicode, et vice-versa. Les valeurs possibles sont <constant>CP_ACP</constant>, <constant>CP_MACCP</constant>, <constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>, <constant>CP_THREAD_ACP</constant>, <constant>CP_UTF7</constant> et <constant>CP_UTF8</constant>. </simpara> </listitem> </varlistentry> </variablelist> </para> </refsect1> </refentry> <refentry id="function.com-load"> <refnamediv> <refname>com_load</refname> <refpurpose> Crée une référence sur un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>com_load</function></funcdef> <paramdef>string <parameter>module_name</parameter></paramdef> <paramdef>string <parameter><optional>server_name</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>com_load</function> crée une nouvelle référence au composant COM <parameter>module_name</parameter>, et retourne une référence dessus. <function>com_load</function> retourne &false; en cas d'échec. </para> </refsect1> </refentry> <refentry id="function.com-invoke"> <refnamediv> <refname>com_invoke</refname> <refpurpose> Appelle une méthode d'un composant </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_invoke</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>function_name</parameter></paramdef> <paramdef>mixed <parameter> <optional>function parameters, ...</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>com_invoke</function> appelle la méthode <parameter>function_name</parameter> du composant COM <parameter>com_object</parameter>. <function>com_invoke</function> retourne &false; en cas d'erreur, sinon retourne le résultat de la fonction <parameter>function_name</parameter> en cas de succès. </para> </refsect1> </refentry> <refentry id="function.com-propget"> <refnamediv> <refname>com_propget</refname> <refpurpose> Lit la valeur d'un propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_propget</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_propget</function> est un alias de <function>com_get</function>. </para> </refsect1> </refentry> <refentry id="function.com-get"> <refnamediv> <refname>com_get</refname> <refpurpose> Lit la valeur d'un propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>com_get</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_get</function> retourne la valeur de la propriété <parameter>property</parameter> du composant COM <parameter>com_object</parameter>. <function>com_get</function> retourne &false; en cas d'erreur. </para> </refsect1> </refentry> <refentry id="function.com-propput"> <refnamediv> <refname>com_propput</refname> <refpurpose> Modifie une propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_propput</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_propput</function> est un alias de <function>com_set</function>. </para> </refsect1> </refentry> <refentry id="function.com-propset"> <refnamediv> <refname>com_propset</refname> <refpurpose> Modifie une propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_propset</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_propset</function> est un alias de <function>com_propput</function>. </para> </refsect1> </refentry> <refentry id="function.com-set"> <refnamediv> <refname>com_set</refname> <refpurpose> Modifie une propriété d'un composant COM </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_set</function></funcdef> <paramdef>resource <parameter>com_object</parameter></paramdef> <paramdef>string <parameter>property</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>com_set</function> remplace la valeur de la propriété <parameter>property</parameter> du composante COM <parameter>com_object</parameter> par <parameter>value</parameter>. <function>com_set</function> retourne &true; en cas de succès, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.com-addref"> <refnamediv> <refname>com_addref</refname> <refpurpose> Incrémente le compteur de références </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_addref</function></funcdef> <void/> </funcprototype> </funcsynopsis> <para> <function>com_addref</function> incrémente le compteur de références. </para> </refsect1> </refentry> <refentry id="function.com-release"> <refnamediv> <refname>com_release</refname> <refpurpose> Décrémente le compteur de références </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>com_release</function></funcdef> <void/> </funcprototype> </funcsynopsis> <para> <function>com_release</function> décrémente le compteur de références. </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/cpdf.xml diff -u phpdoc/fr/functions/cpdf.xml:1.10 phpdoc/fr/functions/cpdf.xml:1.11 --- phpdoc/fr/functions/cpdf.xml:1.10 Sat Jul 7 18:22:03 2001 +++ phpdoc/fr/functions/cpdf.xml Mon Nov 12 00:10:20 2001 @@ -1,2089 +1 @@ - <reference id="ref.cpdf"> - <title>ClibPDF</title> - <titleabbrev>ClibPDF</titleabbrev> - <partintro> - <simpara> - ClibPDF vous permet de créer des documents PDF avec PHP. Cette - librairie est disponible à <ulink url="&url.fastio;">FastIO</ulink> - mais n'est pas gratuite. Vous devez lire la licence avant de l'utiliser. - Si vous ne pouvez pas accepter la licence, essayez plutôt pdflib - de Thomas Merz, qui est aussi très puissante. - Les fonctionnalités de ClibPDF et ses API sont très - similaires à celles de Thomas Merz's pdflib mais, selon FastIO, - ClibPDF est plus rapide, et crée des documents plus compacts. - Cela peut avoir changé depuis la version 2.0 de pdflib. Un test - de vitesse (avec pdfclock.c issue des exemples de pdflib 2.0 - transformé en script PHP) ne montre aucune différence - de vitesse. La taille des fichiers est similaire si la compression - n'est pas utilisée. Il vaut mieux alors essayer les deux, et choisir - celui qui vous convient le mieux. - </simpara> - <simpara> - Cette documentation devrait être lue avec le manuel ClibPDF - sous la main, car il est beaucoup plus détaillé. - </simpara> - <simpara> - Beaucoup de fonctions sont natives de ClibPDF et se retrouvent dans - le module PHP, et tout comme pdflib, elles ont le même nom. - Toutes les fonctions, hormis <function>cpdf_open</function> utilisent - un pointeur sur un document comme premier paramètre. Actuellement, - ce pointeur n'est pas utilisé en interne, car ClibPDF ne supporte - pas la création de plusieurs documents PDF simultanément. - En fait, il ne vaut mieux pas l'envisager, car les résultats sont - aléatoires. Je ne veux même pas imaginer les problèmes - qui pourrait se poser avec les environnements multi-tâches. Selon l'auteur - de ClibPDF, cette situation va changer dans les prochaînes versions - (lorsque cette documentation a été traduite, c'était - la version 1.10). Si vous avez besoin de cette fonctionnalité, - utilisez pdflib. - </simpara> - <note> - <simpara> - La fonction <function>cpdf_set_font</function> a changé - depuis le PHP 3.0 pour supporter les polices asiatiques. Le - paramètre d'encodage n'est plus un entier, mais une chaîne. - </simpara> - </note> - <simpara> - Un des gros avantage de ClibPDF sur pdflib est la possibilité de - créer complétement un document sans passer par des fichiers - temporaires. Il est aussi possible d'utiliser des coordonnées - avec une unité de longeur prédéfinie. C'est une - fonctionnalité bien pratique mais qui peut être - simulée avec <function>pdf_translate</function>. - </simpara> - <simpara> - Un autre atout de ClibPDF est que chaque page peut être modifiée à tout moment - même si une nouvelle page a été ouverte. La fonction - <function>cpdf_set_current_page</function> vous permet de quitter - temporairement une page, et d'en modifier une autre. - </simpara> - <simpara> - La plus part des fonctions sont très simples d'emploi. - Le plus difficile est probablement de créer un document - PDF simple. L'exemple suivant devrait vous aider à - démarrer. La page contient du texte qui utilise la - police "Times-Roman" en taille 30, outlined. Le texte est souligné. - </simpara> - <example> - <title>Exemple simple ClibPDF</title> - <programlisting role="php"> -<?php -$cpdf = cpdf_open(0); -cpdf_page_init($cpdf, 1, 0, 595, 842); -cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1"); -cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding"); -cpdf_set_text_rendering($cpdf, 1); -cpdf_text($cpdf, "Times Roman outlined", 50, 750); -cpdf_moveto($cpdf, 50, 740); -cpdf_lineto($cpdf, 330, 740); -cpdf_stroke($cpdf); -cpdf_finalize($cpdf); -Header("Content-type: application/pdf"); -cpdf_output_buffer($cpdf); -cpdf_close($cpdf); -?> - </programlisting> - </example> - <simpara> - La distribution pdflib contient un exemple plus complet, qui - crée des séries de pages avec une horloge. Voici - cet exemple convertit en script PHP qui utilise l'extension ClibPDF : - </simpara> - <example> - <title>Exemple pdfclock de la distribution pdflib 2.0</title> - <programlisting role="php"> -<?php -$radius = 200; -$margin = 20; -$pagecount = 40; -$pdf = cpdf_open(0); -cpdf_set_creator($pdf, "pdf_clock.php3"); -cpdf_set_title($pdf, "Analog Clock"); -while($pagecount-- > 0) { - cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0); - cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0); /* wipe */ - cpdf_translate($pdf, $radius + $margin, $radius + $margin); - cpdf_save($pdf); - cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0); - /* indications des minutes */ - cpdf_setlinewidth($pdf, 2.0); - for ($alpha = 0; $alpha < 360; $alpha += 6) - { - cpdf_rotate($pdf, 6.0); - cpdf_moveto($pdf, $radius, 0.0); - cpdf_lineto($pdf, $radius-$margin/3, 0.0); - cpdf_stroke($pdf); - } - cpdf_restore($pdf); - cpdf_save($pdf); - /* Indications des 5 minutes */ - cpdf_setlinewidth($pdf, 3.0); - for ($alpha = 0; $alpha < 360; $alpha += 30) - { - cpdf_rotate($pdf, 30.0); - cpdf_moveto($pdf, $radius, 0.0); - cpdf_lineto($pdf, $radius-$margin, 0.0); - cpdf_stroke($pdf); - } - $ltime = getdate(); - /* aiguille des heures */ - cpdf_save($pdf); - cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0); - cpdf_moveto($pdf, -$radius/10, -$radius/20); - cpdf_lineto($pdf, $radius/2, 0.0); - cpdf_lineto($pdf, -$radius/10, $radius/20); - cpdf_closepath($pdf); - cpdf_fill($pdf); - cpdf_restore($pdf); - /* aiguille des minutes */ - cpdf_save($pdf); - cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0); - cpdf_moveto($pdf, -$radius/10, -$radius/20); - cpdf_lineto($pdf, $radius * 0.8, 0.0); - cpdf_lineto($pdf, -$radius/10, $radius/20); - cpdf_closepath($pdf); - cpdf_fill($pdf); - cpdf_restore($pdf); - /* aiguille des secondes */ - cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0); - cpdf_setlinewidth($pdf, 2); - cpdf_save($pdf); - cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0)); - cpdf_moveto($pdf, -$radius/5, 0.0); - cpdf_lineto($pdf, $radius, 0.0); - cpdf_stroke($pdf); - cpdf_restore($pdf); - /* Un petit cercle au centre */ - cpdf_circle($pdf, 0, 0, $radius/30); - cpdf_fill($pdf); - cpdf_restore($pdf); - cpdf_finalize_page($pdf, $pagecount+1); -} -cpdf_finalize($pdf); -header("Content-type: application/pdf"); -cpdf_output_buffer($pdf); -cpdf_close($pdf); -?> - </programlisting> - </example> - </partintro> - <refentry id="function.cpdf-global-set-document-limits"> - <refnamediv> - <refname>cpdf_global_set_document_limits</refname> - <refpurpose>Fixe les limites d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef> - void <function>cpdf_global_set_document_limits</function> - </funcdef> - <paramdef>int <parameter>maxpages</parameter></paramdef> - <paramdef>int <parameter>maxfonts</parameter></paramdef> - <paramdef>int <parameter>maximages</parameter></paramdef> - <paramdef>int <parameter>maxannotations</parameter></paramdef> - <paramdef>int <parameter>maxobjects</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_global_set_document_limits</function> permet de - fixer plusieurs limites au document PDF. - <function>cpdf_global_set_document_limits</function> doit - être appelé avant <function>cpdf_open</function> - pour être effective. Elle fixe les limites de tous - les documents ouverts après. - </para> - <para> - Voir aussi <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-creator"> - <refnamediv> - <refname>cpdf_set_creator</refname> - <refpurpose>Fixe le créateur d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_creator</function></funcdef> - <paramdef>string <parameter>creator</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_creator</function> fixe le créateur d'un - document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_subject</function>, - <function>cpdf_set_title</function> et - <function>cpdf_set_keywords</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-title"> - <refnamediv> - <refname>cpdf_set_title</refname> - <refpurpose>Fixe le titre d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_title</function></funcdef> - <paramdef>string <parameter>title</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_title</function> fixe le titre d'un document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_subject</function>, - <function>cpdf_set_creator</function> et - <function>cpdf_set_keywords</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-subject"> - <refnamediv> - <refname>cpdf_set_subject</refname> - <refpurpose>Fixe le sujet d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_subject</function></funcdef> - <paramdef>string <parameter>subject</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_subject</function> fixe le sujet d'un document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_title</function>, - <function>cpdf_set_creator</function> et - <function>cpdf_set_keywords</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-keywords"> - <refnamediv> - <refname>cpdf_set_keywords</refname> - <refpurpose>Fixe les mot clés d'un document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_keywords</function></funcdef> - <paramdef>string <parameter>keywords</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_keywords</function> fixe les mots-clé - d'un document PDF. - </para> - <para> - Voir aussi - <function>cpdf_set_title</function>, - <function>cpdf_set_creator</function> et - <function>cpdf_set_subject</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-open"> - <refnamediv> - <refname>cpdf_open</refname> - <refpurpose>Ouvre un nouveau document PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>cpdf_open</function></funcdef> - <paramdef>int <parameter>compression</parameter></paramdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_open</function> ouvre un nouveau document PDF. - Le premier paramètre <parameter>compression</parameter> active ou pas - la compression, suivant qu'il vaut 0 ou 1. Le deuxième paramètre, - optionnel, choisit le fichier de destination du document. Si il est omis, le - document sera écrit en mémoire, et pourra être écrit - dans un fichier avec <function>cpdf_save_to_file</function> ou envoyé - à l'affichage avec <function>cpdf_output_buffer</function>. - <note> - <simpara> - La valeur retournée sera nécessaire pour les autres - fonctions de ClibPDF comme premier paramètre. - </simpara> - <simpara> - La librairie ClibPDF prend le nom de fichier "-" comme synonyme de stdout. - Si PHP est compilé comme un module apache, cela ne fonctionnera pas, - car la méthode d'envoie des données de ClibPDF ne fonctionne - pas avec Apache. Vous pouvez résoudre ce problème en ne - fournissant pas de nom de fichier, et en utilisant la fonction - <function>cpdf_output_buffer</function> pour afficher le document PDF. - </simpara> - </note> - </para> - <para> - Voir aussi - <function>cpdf_close</function> et - <function>cpdf_output_buffer</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-close"> - <refnamediv> - <refname>cpdf_close</refname> - <refpurpose>Ferme un fichier PDF.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_close</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_close</function> ferme un fichier PDF. Ce doit - être la dernière fonction appelée, et elle - apparaît même après <function>cpdf_finalize</function>, - <function>cpdf_output_buffer</function> et - <function>cpdf_save_to_file</function>. - </para> - <para> - Voir aussi <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-page-init"> - <refnamediv> - <refname>cpdf_page_init</refname> - <refpurpose>Commence une nouvelle page.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_page_init</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>page_number</parameter></paramdef> - <paramdef>int <parameter>orientation</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef> - double <parameter><optional>unit</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_page_init</function> commence une nouvelle page, - avec la hauteur <parameter>height</parameter> et la largeur - <parameter>width</parameter>. La page a le numéro - <parameter>page_number</parameter> et l'orientation - <parameter>orientation</parameter>. <parameter>orientation</parameter> - vaut 0 pour portrait et 1 pour paysage. Le dernier - paramètre, optionnel, <parameter>unit</parameter>, fixe - l'unité pour le système de coordonnées. - Cette valeur doit être un nombre de points postscript, - par unité. Etant donné que un pouce (inch) vaut - 72 points, une valeur de 72 vaudra un pouce (inch). Par - défaut, cette valeur vaut 72. - </para> - <para> - Voir aussi <function>cpdf_set_current_page</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-finalize-page"> - <refnamediv> - <refname>cpdf_finalize_page</refname> - <refpurpose>Termine une page.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_finalize_page</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>page_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_finalize_page</function> termine la page de - numéro <parameter>page_number</parameter>. - <function>cpdf_finalize_page</function> ne fait qu'une sauvegarde - mémoire. Les pages terminées prennent moins de - place, mais ne peuvent plus être modifiées. - </para> - <para> - Voir aussi <function>cpdf_page_init</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-finalize"> - <refnamediv> - <refname>cpdf_finalize</refname> - <refpurpose>Termine un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_finalize</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_finalize</function> termine un document. Vous devez toujours - appeler <function>cpdf_close</function> après. - </para> - <para> - Voir aussi <function>cpdf_close</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-output-buffer"> - <refnamediv> - <refname>cpdf_output_buffer</refname> - <refpurpose>Envoie le document PDF dans un buffer mémoire.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_output_buffer</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_output_buffer</function> envoie le document PDF - dans un buffer mémoire de stdout. Le document doit avoir - été créé en mémoire, ce qui - est le cas si <function>cpdf_open</function> a été - appelée dans paramètre de nom de fichier. - </para> - <para> - Voir aussi <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-save-to-file"> - <refnamediv> - <refname>cpdf_save_to_file</refname> - <refpurpose>Ecrit un document PDF dans un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_save_to_file</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_save_to_file</function> écrit un document - PDF dans un fichier, s'il a été créé - en mémoire. <function>cpdf_save_to_file</function> n'est - pas nécessaire si un nom de fichier a été - fourni lors de l'appel à <function>cpdf_open</function>. - </para> - <para> - Voir aussi <function>cpdf_output_buffer</function> - et <function>cpdf_open</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-current-page"> - <refnamediv> - <refname>cpdf_set_current_page</refname> - <refpurpose>Fixe la page courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_current_page</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>page_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_current_page</function> fixe la page - courante, oú toutes les prochaînes opérations - vont avoir lieu. On peut changer de page jusqu'à ce qu'une - page soit terminée avec <function>cpdf_finalize_page</function>. - </para> - <para> - Voir aussi <function>cpdf_finalize_page</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-begin-text"> - <refnamediv> - <refname>cpdf_begin_text</refname> - <refpurpose>Démarre une section de texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_begin_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_begin_text</function> démarre une section de texte. - Elle doit être terminée avec <function>cpdf_end_text</function>. - <example> - <title>Affichage de texte</title> - <programlisting role="php"> -<?php -cpdf_begin_text($pdf); -cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding"); -cpdf_text($pdf, 100, 100, "Some text"); -cpdf_end_text($pdf) -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>cpdf_end_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-end-text"> - <refnamediv> - <refname>cpdf_end_text</refname> - <refpurpose>Termine une section de texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_end_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_end_text</function> termine une section de texte, - commencée avec <function>cpdf_begin_text</function>. - <example> - <title>Affichage de texte</title> - <programlisting role="php"> -<?php -cpdf_begin_text($pdf); -cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding"); -cpdf_text($pdf, 100, 100, "Some text"); -cpdf_end_text($pdf) -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>cpdf_begin_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-show"> - <refnamediv> - <refname>cpdf_show</refname> - <refpurpose>Imprime un texte à la position courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_show</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_show</function> imprime la chaîne - <parameter>text</parameter>, à la position courante. - </para> - <para> - Voir aussi <function>cpdf_text</function>, - <function>cpdf_begin_text</function> - et <function>cpdf_end_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-show-xy"> - <refnamediv> - <refname>cpdf_show_xy</refname> - <refpurpose>Affiche un texte à une position.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_show_xy</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>double <parameter>x-coor</parameter></paramdef> - <paramdef>double <parameter>y-coor</parameter></paramdef> - <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_show_xy</function> imprime la chaîne - <parameter>text</parameter>, à la position de - coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). Le dernier paramètre - optionnel est une unité de longueur. Si il prend la - valeur de 0 (ou si il est omis), c'est la valeur par - défaut (72) qui est utilisé. - <note> - <simpara> - The function <function>cpdf_show_xy</function> est identique à - <function>cpdf_text</function> sans les options. - </simpara> - </note> - </para> - <para> - Voir aussi <function>cpdf_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-text"> - <refnamediv> - <refname>cpdf_text</refname> - <refpurpose>Imprime un texte avec des options.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>double <parameter>x-coor</parameter></paramdef> - <paramdef>double <parameter>y-coor</parameter></paramdef> - <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> - <paramdef> - double <parameter><optional>orientation</optional></parameter> - </paramdef> - <paramdef> - int <parameter><optional>alignmode</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_text</function> imprime le text - <parameter>text</parameter> à la position de - coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). Le paramètre - <parameter>mode</parameter> est une unité de - longueur. Si il prend la valeur de 0 (ou si il est omis), c'est la - valeur par défaut (72) qui est utilisé. - </para> - <para> - Le paramètre optionel <parameter>orientation</parameter> - est un angle de rotation du texte, en degrés. Le - paramètre optionnel <parameter>alignmode</parameter> - détermine l'alignement du texte. Reportez vous - à la doc de ClibPDF, pour les valeurs possibles. - </para> - <para> - Voir aussi <function>cpdf_show_xy</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-font"> - <refnamediv> - <refname>cpdf_set_font</refname> - <refpurpose>Sélectionne la police courante et sa taille.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_font</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>font name</parameter></paramdef> - <paramdef>double <parameter>size</parameter></paramdef> - <paramdef>string <parameter>encoding</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_font</function> selectionne la police - courante, sa taille et l'encodage. Actuellement, seules - les polices postscript sont supportées. - </para> - <para> - Le dernier paramètre <parameter>encoding</parameter> - peut prendre - les valeurs suivantes : "MacRomanEncoding", "MacExpertEncoding", - "WinAnsiEncoding", et "&null;". "&null;" signifie qu'il faut utiliser - l'encodage par défaut. - </para> - <para> - Reportez vous à la doc de - ClibPDF, pour plus d'informations, notamment sur les polices - asiatiques. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-leading"> - <refnamediv> - <refname>cpdf_set_leading</refname> - <refpurpose>Fixe la distance entre deux lignes.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_leading</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>distance</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_leading</function> fixe la distance - entre deux lignes. Cela servira si le texte est - affiché par <function>cpdf_continue_text</function>. - </para> - <para> - Voir aussi <function>cpdf_continue_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-rendering"> - <refnamediv> - <refname>cpdf_set_text_rendering</refname> - <refpurpose>Détermine le rendu du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_rendering</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_rendering</function> détermines - le rendu du texte. - </para> - <para> - Les valeurs possibles pour <parameter>mode</parameter> sont : - 0=texte plein, 1=texte stroke, 2=texte plein et stroke, - 3=invisible, 4=texte plein et ajouté au chemin, - 5=texte stroke et ajouté au chemin, 6=texte plein et stroke et - ajouté au chemin, 7=et ajouté au chemin. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-horiz-scaling"> - <refnamediv> - <refname>cpdf_set_horiz_scaling</refname> - <refpurpose>Fixe l'échelle horizontale du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_horiz_scaling</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>scale</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_horiz_scaling</function> fixe - l'échelle horizontale du texte à - <parameter>scale</parameter> %. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-rise"> - <refnamediv> - <refname>cpdf_set_text_rise</refname> - <refpurpose>Fixe l'élévation du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_rise</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_rise</function> fixe - l'élévation du texte à - <parameter>value</parameter> unités. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-matrix"> - <refnamediv> - <refname>cpdf_set_text_matrix</refname> - <refpurpose>Fixe la matrice du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_matrix</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>array <parameter>matrix</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_matrix</function> fixe la matrice - du texte, qui décrit la transformation - appliquée à police. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-pos"> - <refnamediv> - <refname>cpdf_set_text_pos</refname> - <refpurpose>Fixe la position du texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_pos</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_text_pos</function> Fixe la position du texte pour le - prochain appel à <function>cpdf_show</function>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) qui est - utilisé. - </para> - <para> - Voir aussi <function>cpdf_show</function>, - <function>cpdf_text</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-char-spacing"> - <refnamediv> - <refname>cpdf_set_char_spacing</refname> - <refpurpose>Fixe l'espacement des caractères.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_text_pos</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>space</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_char_spacing</function> fixe l'espacement - des caractères. - </para> - <para> - Voir aussi <function>cpdf_set_word_spacing</function>, - <function>cpdf_set_leading</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-word-spacing"> - <refnamediv> - <refname>cpdf_set_word_spacing</refname> - <refpurpose>Fixe l'espacement des mots.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_word_spacing</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>space</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_word_spacing</function> fixe - l'espacement des caractères. - </para> - <para> - Voir aussi <function>cpdf_set_char_spacing</function>, - <function>cpdf_set_leading</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-continue-text"> - <refnamediv> - <refname>cpdf_continue_text</refname> - <refpurpose>Imprime le texte à la ligne suivante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_continue_text</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_continue_text</function> imprime le texte - <parameter>text</parameter> à la ligne suivante. - </para> - <para> - Voir aussi <function>cpdf_show_xy</function>, - <function>cpdf_text</function>, - <function>cpdf_set_leading</function>, - <function>cpdf_set_text_pos</function>.</para> - </refsect1> - </refentry> - <refentry id="function.cpdf-stringwidth"> - <refnamediv> - <refname>cpdf_stringwidth</refname> - <refpurpose>Retourne la taille de la chaîne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>double <function>cpdf_stringwidth</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_stringwidth</function> retourne la taille - de la chaîne <parameter>text</parameter>. Une police - doit avoir déjà été choisie. - </para> - <para> - Voir aussi <function>cpdf_set_font</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-save"> - <refnamediv> - <refname>cpdf_save</refname> - <refpurpose>Sauve l'environnement courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_save</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_save</function> sauve l'environnement - courant. <function>cpdf_save</function> est similaire à - la commande postscript gsave. Très pratique quand vous devez - faire des translations et rotations sur un objet, mais - sans affecter les autres. - </para> - <para> - Voir aussi <function>cpdf_restore</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-restore"> - <refnamediv> - <refname>cpdf_restore</refname> - <refpurpose>Restaure un environnement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_restore</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_restore</function> restaure l'environnement - sauvé par <function>cpdf_save</function>. Cette - fonction est similaire à la commande postscript - grestore. Très pratique quand vous devez faire des - translations et rotations sur un objet, mais sans affecter - les autres. - <example> - <title>Sauver/Restaurer</title> - <programlisting role="php"> -<?php -cpdf_save($pdf); -// plein de transformations, translations, ... -cpdf_restore($pdf) -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>cpdf_save</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-translate"> - <refnamediv> - <refname>cpdf_translate</refname> - <refpurpose> - Modifie l'origine du système de coordonées. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_translate</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_translate</function> modifie l'origine du - système de coordonées en placant l'origine - aux coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. S'il prend la valeur de 0 - (ou s'il est omis), c'est la valeur par défaut (72) - qui est utilisé. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-scale"> - <refnamediv> - <refname>cpdf_scale</refname> - <refpurpose>Modifie l'échelle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_scale</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-scale</parameter></paramdef> - <paramdef>double <parameter>y-scale</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_scale</function> modifie l'echelle dans les deux directions. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rotate"> - <refnamediv> - <refname>cpdf_rotate</refname> - <refpurpose>Effectue une rotation.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rotate</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>angle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rotate</function> effectue une rotation, d'un angle de - <parameter>angle</parameter> degrés. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setflat"> - <refnamediv> - <refname>cpdf_setflat</refname> - <refpurpose>Fixe la platitude (flatness).</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setflat</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setflat</function> fixe la platitude (flatness), - entre 0 et 100. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setlinejoin"> - <refnamediv> - <refname>cpdf_setlinejoin</refname> - <refpurpose>Fixe le paramètre linejoin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setlinejoin</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>long <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setlinejoin</function> fixe le paramètre - linejoin à une valeur <parameter>value</parameter>, - entre 0 et 2. 0 = miter, 1 = round, 2 = bevel. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setlinecap"> - <refnamediv> - <refname>cpdf_setlinecap</refname> - <refpurpose>Fixe le paramètre linecap.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setlinecap</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setlinecap</function> fixe le paramètre linecap - à une valeur <parameter>value</parameter> - entre 0 et 2. 0 = butt end, 1 = round, 2 = projecting square. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setmiterlimit"> - <refnamediv> - <refname>cpdf_setmiterlimit</refname> - <refpurpose>Fixe le paramètre miter limit.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setmiterlimit</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setmiterlimit</function> fixe le - paramètre "miter limit" à une valeur - supérieure ou égale à 1. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setlinewidth"> - <refnamediv> - <refname>cpdf_setlinewidth</refname> - <refpurpose>Fixe la largeur de ligne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setlinewidth</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setlinewidth</function> fixe la largeur de - ligne à la valeur de <parameter>width</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setdash"> - <refnamediv> - <refname>cpdf_setdash</refname> - <refpurpose>Fixe le motif de pointillé.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setdash</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>white</parameter></paramdef> - <paramdef>double <parameter>black</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setdash</function> fixe le motif de - pointillé à <parameter>white</parameter> - unité de blanc et <parameter>black</parameter> - unités de noir. Si les deux sont à 0, - une ligne pleine est affichée. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-newpath"> - <refnamediv> - <refname>cpdf_newpath</refname> - <refpurpose>Commence un nouveau chemin</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void - <function>cpdf_newpath</function> - </funcdef> - <paramdef>int - <parameter>pdf_document</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_newpath</function> commence un nouveau chemin - dans le document <parameter>pdf_document</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-moveto"> - <refnamediv> - <refname>cpdf_moveto</refname> - <refpurpose>Fixe le point courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_moveto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_moveto</function> fixe le point courant aux - coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rmoveto"> - <refnamediv> - <refname>cpdf_rmoveto</refname> - <refpurpose>Fixe le point courant relativement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rmoveto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rmoveto</function> fixe le point courant - aux coordonnées (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>), relativement. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_moveto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-curveto"> - <refnamediv> - <refname>cpdf_curveto</refname> - <refpurpose>Dessine une courbe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_curveto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x1</parameter></paramdef> - <paramdef>double <parameter>y1</parameter></paramdef> - <paramdef>double <parameter>x2</parameter></paramdef> - <paramdef>double <parameter>y2</parameter></paramdef> - <paramdef>double <parameter>x3</parameter></paramdef> - <paramdef>double <parameter>y3</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_curveto</function> dessine une courbe de Bezier, - entre le point courant et le point (<parameter>x3</parameter>, - <parameter>y3</parameter>), en utilisant les points de - contrôle (<parameter>x1</parameter>, <parameter>y1</parameter>) - et (<parameter>x2</parameter>, <parameter>y2</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_moveto</function>, - <function>cpdf_rmoveto</function>, - <function>cpdf_rlineto</function>, - <function>cpdf_lineto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-lineto"> - <refnamediv> - <refname>cpdf_lineto</refname> - <refpurpose>Dessine une ligne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_lineto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_lineto</function> dessine une ligne entre le - point courant et le point de coordonnées - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_moveto</function>, - <function>cpdf_rmoveto</function>, - <function>cpdf_curveto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rlineto"> - <refnamediv> - <refname>cpdf_rlineto</refname> - <refpurpose>Dessine une ligne, relativement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rlineto</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rlineto</function> dessine une ligne entre - le point courant et le point de coordonnées relatives - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi - <function>cpdf_moveto</function>, - <function>cpdf_rmoveto</function> et - <function>cpdf_curveto</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-circle"> - <refnamediv> - <refname>cpdf_circle</refname> - <refpurpose>Dessine un cercle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_circle</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>radius</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_circle</function> dessine un cercle de centre - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) - et de rayon <parameter>radius</parameter>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_arc</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-arc"> - <refnamediv> - <refname>cpdf_arc</refname> - <refpurpose>Dessine un arc de cercle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_arc</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>radius</parameter></paramdef> - <paramdef>double <parameter>start</parameter></paramdef> - <paramdef>double <parameter>end</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_arc</function> dessine un arc de cercle, - dont le centre est au point (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>) et l'angle est - <parameter>radius</parameter>, commencant à l'angle - <parameter>start</parameter> et finissant à l'angle - <parameter>end</parameter>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_circle</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-rect"> - <refnamediv> - <refname>cpdf_rect</refname> - <refpurpose>Dessine un rectangle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_rect</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_rect</function> dessine un rectangle dont le - coin inférieur droit est au point - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - La largeur est <parameter>width</parameter>. - La hauteur est<parameter>height</parameter>. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par défaut (72) - qui est utilisée. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-closepath"> - <refnamediv> - <refname>cpdf_closepath</refname> - <refpurpose>Ferme le chemin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_closepath</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_closepath</function> ferme le chemin courant. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-stroke"> - <refnamediv> - <refname>cpdf_stroke</refname> - <refpurpose>Dessine une ligne le long du chemin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_stroke</function> dessine une ligne le long du chemin. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_closepath_stroke</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-closepath-stroke"> - <refnamediv> - <refname>cpdf_closepath_stroke</refname> - <refpurpose> - Ferme le fichier et dessine une ligne le long du chemin. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_closepath_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_closepath_stroke</function> est une combinaison de - <function>cpdf_closepath</function> et <function>cpdf_stroke</function>. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-fill"> - <refnamediv> - <refname>cpdf_fill</refname> - <refpurpose>Remplit le chemin courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_fill</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_fill</function> remplit l'intérieur du chemin courant - avec la couleur courante. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>, - <function>cpdf_setgray_fill</function>, - <function>cpdf_setgray</function>, - <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-fill-stroke"> - <refnamediv> - <refname>cpdf_fill_stroke</refname> - <refpurpose>Remplit le chemin, et dessine le bord.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_fill_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_fill_stroke</function> remplit l'intérieur - du chemin avec la couleur courante, et dessine le chemin. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>, - <function>cpdf_fill</function>, - <function>cpdf_setgray_fill</function>, - <function>cpdf_setgray</function>, - <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-closepath-fill-stroke"> - <refnamediv> - <refname>cpdf_closepath_fill_stroke</refname> - <refpurpose>Remplit le chemin, dessine le bord et ferme le chemin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_closepath_fill_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_closepath_fill_stroke</function> remplit le chemin, - dessine le bord et ferme le chemin. - </para> - <para> - Voir aussi <function>cpdf_closepath</function>, - <function>cpdf_stroke</function>, - <function>cpdf_fill</function>, - <function>cpdf_setgray_fill</function>, - <function>cpdf_setgray</function>, - <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-clip"> - <refnamediv> - <refname>cpdf_clip</refname> - <refpurpose>Aligne les dessins sur le chemin courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_clip</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_clip</function> aligne les dessins sur le chemin courant. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setgray-fill"> - <refnamediv> - <refname>cpdf_setgray_fill</refname> - <refpurpose> - Modifie le niveau de gris comme couleur de remplissage. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setgray_fill</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setgray_fill</function> remplace le niveau de gris, - couleur de remplissage courante, par <parameter>value</parameter>. - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_fill</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setgray-stroke"> - <refnamediv> - <refname>cpdf_setgray_stroke</refname> - <refpurpose>Choisit un niveau de gris comme couleur de dessin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setgray_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>gray_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setgray_stroke</function> remplace le niveau de gris, - couleur de dessin courante, par <parameter>value</parameter>. - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setgray"> - <refnamediv> - <refname>cpdf_setgray</refname> - <refpurpose> - Modifie un niveau de gris comme couleur de dessin et de remplissage. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setgray</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>gray_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setgray_stroke</function> remplace le niveau de gris, - couleur de dessin et de remplissage, par <parameter>value</parameter>. - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function>, - <function>cpdf_setrgbcolor_fill</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setrgbcolor-fill"> - <refnamediv> - <refname>cpdf_setrgbcolor_fill</refname> - <refpurpose>Choisit une couleur rgb comme couleur de remplissage.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setrgbcolor_fill</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>red_value</parameter></paramdef> - <paramdef>double <parameter>green_value</parameter></paramdef> - <paramdef>double <parameter>blue_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setrgbcolor_fill</function> remplace la couleur de - remplissage, par la couleur rgb (<parameter>red_value</parameter>, - <parameter>green_value</parameter>, <parameter>blue_value</parameter>). - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function>, - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setrgbcolor-stroke"> - <refnamediv> - <refname>cpdf_setrgbcolor_stroke</refname> - <refpurpose>Choisit une couleur rgb comme couleur de dessin.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setrgbcolor_stroke</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>red_value</parameter></paramdef> - <paramdef>double <parameter>green_value</parameter></paramdef> - <paramdef>double <parameter>blue_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de - dessin, par la couleur rgb (<parameter>red_value</parameter>, - <parameter>green_value</parameter>, <parameter>blue_value</parameter>). - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_fill</function> et - <function>cpdf_setrgbcolor</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-setrgbcolor"> - <refnamediv> - <refname>cpdf_setrgbcolor</refname> - <refpurpose> - Choisit une couleur rgb comme couleur de dessin et de remplissage. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_setrgbcolor</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>red_value</parameter></paramdef> - <paramdef>double <parameter>green_value</parameter></paramdef> - <paramdef>double <parameter>blue_value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de - remplissage et de dessin, par la couleur rgb (<parameter>red_value</parameter>, - <parameter>green_value</parameter>, <parameter>blue_value</parameter>). - </para> - <para> - Voir aussi <function>cpdf_setrgbcolor_stroke</function> et - <function>cpdf_setrgbcolor_fill</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-add-outline"> - <refnamediv> - <refname>cpdf_add_outline</refname> - <refpurpose>Ajoute un signet à la page courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_add_outline</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_add_outline</function> ajoute un signet - à la page courante, avec le texte <parameter>text</parameter> - qui pointe sur la page courante. - <example> - <title>Ajouter une mise en relief</title> - <programlisting role="php"> -<?php -$cpdf = cpdf_open(0); -cpdf_page_init($cpdf, 1, 0, 595, 842); -cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1"); -// ... -// quelques dessins -// ... -cpdf_finalize($cpdf); -Header("Content-type: application/pdf"); -cpdf_output_buffer($cpdf); -cpdf_close($cpdf); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-page-animation"> - <refnamediv> - <refname>cpdf_set_page_animation</refname> - <refpurpose>Fixe l'animation de la transition entre les pages.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_set_page_animation</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>transition</parameter></paramdef> - <paramdef>double <parameter>duration</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_set_page_animation</function> fixe l'animation de - la transition entre les pages. - </para> - <para> - La valeur du paramètre de transition - <parameter>transition</parameter> peut être : - <simplelist> - <member> - 0 pour aucune, - </member> - <member> - 1 pour deux lignes en travers de l'écran, - qui révèlent la prochaîne page, - </member> - <member> - 2 pour plusieurs lignes en travers de l'écran, - qui révèlent la prochaîne page, - </member> - <member> - 3 pour une boîte qui révèle - la prochaîne page, - </member> - <member> - 4 pour une seule ligne en travers de l'écran, - qui révèle la prochaîne page, - </member> - <member> - 5 pour l'ancienne page qui se dissout - </member> - <member> - 6 pour un effet de dissolution d'un angle à l'autre - </member> - <member> - 7 pour le remplacement simple (par défaut) - </member> - </simplelist> - </para> - <para> - La valeur de <parameter>duration</parameter> est le nombre de - secondes avant le passage à la page suivante. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-import-jpeg"> - <refnamediv> - <refname>cpdf_import_jpeg</refname> - <refpurpose>Ouvre une image JPEG.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>cpdf_import_jpeg</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>string <parameter>file name</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>angle</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>double <parameter>x-scale</parameter></paramdef> - <paramdef>double <parameter>y-scale</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_import_jpeg</function> ouvre une image JPG, - enregistré dans le fichier <parameter>file name</parameter>. - Le format de l'image doit être JPEG. L'image est placée - dans la page courante, aux coordonnées - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - L'image subira une rotation d'un angle de <parameter>angle</parameter> - degrés. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une unité - de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est - la valeur par défaut (72) qui est utilisée. - </para> - <para> - Voir aussi <function>cpdf_place_inline_image</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-place-inline-image"> - <refnamediv> - <refname>cpdf_place_inline_image</refname> - <refpurpose>Place une image dans la page.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_place_inline_image</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>int <parameter>image</parameter></paramdef> - <paramdef>double <parameter>x-koor</parameter></paramdef> - <paramdef>double <parameter>y-koor</parameter></paramdef> - <paramdef>double <parameter>angle</parameter></paramdef> - <paramdef>double <parameter>width</parameter></paramdef> - <paramdef>double <parameter>height</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_place_inline_image</function> places une image - créée par un script PHP, dans la page, à - la position (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - L'image peut être mise à l'échelle, en même temps. - </para> - <para> - Le paramètre <parameter>mode</parameter> est une unité - de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est - la valeur par défaut (72) qui est utilisé. - </para> - <para> - Voir aussi <function>cpdf_import_jpeg</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-add-annotation"> - <refnamediv> - <refname>cpdf_add_annotation</refname> - <refpurpose>Ajoute une annotation.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>cpdf_add_annotation</function></funcdef> - <paramdef>resource <parameter>pdf_document</parameter></paramdef> - <paramdef>double <parameter>llx</parameter></paramdef> - <paramdef>double <parameter>lly</parameter></paramdef> - <paramdef>double <parameter>urx</parameter></paramdef> - <paramdef>double <parameter>ury</parameter></paramdef> - <paramdef>string <parameter>title</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cpdf_add_annotation</function> ajoute une note, dont - le coin inférieur droit est (<parameter>llx</parameter>, - <parameter>lly</parameter>) et le coin supérieur droit est - (<parameter>urx</parameter>, <parameter>ury</parameter>). - </para> - <para> - Le paramètre <parameter>mode</parameter> est une - unité de longueur. Si il prend la valeur de 0 (ou si - il est omis), c'est la valeur par défaut (72) qui est - utilisé. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.11 $ --><reference id="ref.cpdf"> <title>ClibPDF</title> <titleabbrev>ClibPDF</titleabbrev> <partintro> <simpara> L'extension ClibPDF vous permet de créer des documents PDF avec PHP. Elle est disponible en téléchargement sur le site <ulink url="&url.fastio;">FastIO</ulink>, mais requiert l'achat d'une licence pour utilisation commerciale. Les fonctionnalités et API de ClibPDF sont très similaires à <link linkend="ref.pdf">PDFlib</link>. </simpara> <simpara> Cette documentation devrait être lue avec le manuel ClibPDF sous la main, car il est beaucoup plus détaillé. </simpara> <simpara> Beaucoup de fonctions sont natives de ClibPDF et se retrouvent dans le module PHP, et tout comme pdflib, elles ont le même nom. Toutes les fonctions, hormis <function>cpdf_open</function> utilisent un pointeur sur un document comme premier paramètre. Actuellement, ce pointeur n'est pas utilisé en interne, car ClibPDF ne supporte pas la création de plusieurs documents PDF simultanément. En fait, il ne vaut mieux pas l'envisager, car les résultats sont aléatoires. Je ne veux même pas imaginer les problèmes qui pourrait se poser avec les environnements multi-tâches. Selon l'auteur de ClibPDF, cette situation va changer dans les prochaines versions (lorsque cette documentation a été traduite, c'était la version 1.10). Si vous avez besoin de cette fonctionnalité, utilisez pdflib. </simpara> <note> <simpara> La fonction <function>cpdf_set_font</function> a changé depuis le PHP 3.0 pour supporter les polices asiatiques. Le paramètre d'encodage n'est plus un entier, mais une chaîne. </simpara> </note> <simpara> Une caractéristique pratique de ClibPDF (et aussi de <link linkend="ref.pdf">PDFlib</link>) est celle de créer le document PDF en mémoire, sans fichiers temporaires. ClibPDF permet aussi de passer les coordonnées avec une unité prédéfinie (ce qui peut être simulé avec <function>pdf_translate</function> de la librairie <link linkend="ref.pdf">PDFlib</link>). </simpara> <simpara> Un autre atout de ClibPDF est que chaque page peut être modifiée à tout moment même si une nouvelle page a été ouverte. La fonction <function>cpdf_set_current_page</function> vous permet de quitter temporairement une page, et d'en modifier une autre. </simpara> <simpara> La plupart des fonctions sont très simples d'emploi. Le plus difficile est probablement de créer un document PDF simple. L'exemple suivant devrait vous aider à démarrer. La page contient du texte qui utilise la police "Times-Roman" en taille 30, outlined. Le texte est souligné. </simpara> <example> <title>Exemple simple ClibPDF</title> <programlisting role="php"><?php$cpdf = cpdf_open(0);cpdf_page_init($cpdf, 1, 0, 595, 842);cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding");cpdf_set_text_rendering($cpdf, 1);cpdf_text($cpdf, "Times Roman outlined", 50, 750);cpdf_moveto($cpdf, 50, 740);cpdf_lineto($cpdf, 330, 740);cpdf_stroke($cpdf);cpdf_finalize($cpdf);Header("Content-type: application/pdf");cpdf_output_buffer($cpdf);cpdf_close($cpdf);?> </programlisting> </example> <simpara> La distribution pdflib contient un exemple plus complet, qui crée des séries de pages avec une horloge. Voici cet exemple convertit en script PHP qui utilise l'extension ClibPDF : </simpara> <example> <title>Exemple pdfclock de la distribution pdflib 2.0</title> <programlisting role="php"><?php$radius = 200;$margin = 20;$pagecount = 40;$pdf = cpdf_open(0);cpdf_set_creator($pdf, "pdf_clock.php3");cpdf_set_title($pdf, "Analog Clock");while($pagecount-- > 0) { cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0); cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0); /* wipe */ cpdf_translate($pdf, $radius + $margin, $radius + $margin); cpdf_save($pdf); cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0); /* indications des minutes */ cpdf_setlinewidth($pdf, 2.0); for ($alpha = 0; $alpha < 360; $alpha += 6) { cpdf_rotate($pdf, 6.0); cpdf_moveto($pdf, $radius, 0.0); cpdf_lineto($pdf, $radius-$margin/3, 0.0); cpdf_stroke($pdf); } cpdf_restore($pdf); cpdf_save($pdf); /* Indications des 5 minutes */ cpdf_setlinewidth($pdf, 3.0); for ($alpha = 0; $alpha < 360; $alpha += 30) { cpdf_rotate($pdf, 30.0); cpdf_moveto($pdf, $radius, 0.0); cpdf_lineto($pdf, $radius-$margin, 0.0); cpdf_stroke($pdf); } $ltime = getdate(); /* aiguille des heures */ cpdf_save($pdf); cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0); cpdf_moveto($pdf, -$radius/10, -$radius/20); cpdf_lineto($pdf, $radius/2, 0.0); cpdf_lineto($pdf, -$radius/10, $radius/20); cpdf_closepath($pdf); cpdf_fill($pdf); cpdf_restore($pdf); /* aiguille des minutes */ cpdf_save($pdf); cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0); cpdf_moveto($pdf, -$radius/10, -$radius/20); cpdf_lineto($pdf, $radius * 0.8, 0.0); cpdf_lineto($pdf, -$radius/10, $radius/20); cpdf_closepath($pdf); cpdf_fill($pdf); cpdf_restore($pdf); /* aiguille des secondes */ cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0); cpdf_setlinewidth($pdf, 2); cpdf_save($pdf); cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0)); cpdf_moveto($pdf, -$radius/5, 0.0); cpdf_lineto($pdf, $radius, 0.0); cpdf_stroke($pdf); cpdf_restore($pdf); /* Un petit cercle au centre */ cpdf_circle($pdf, 0, 0, $radius/30); cpdf_fill($pdf); cpdf_restore($pdf); cpdf_finalize_page($pdf, $pagecount+1);}cpdf_finalize($pdf);header("Content-type: application/pdf");cpdf_output_buffer($pdf);cpdf_close($pdf);?> </programlisting> </example> </partintro> <refentry id="function.cpdf-add-annotation"> <refnamediv> <refname>cpdf_add_annotation</refname> <refpurpose>Ajoute une annotation.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_add_annotation</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>llx</parameter></paramdef> <paramdef>float <parameter>lly</parameter></paramdef> <paramdef>float <parameter>urx</parameter></paramdef> <paramdef>float <parameter>ury</parameter></paramdef> <paramdef>string <parameter>title</parameter></paramdef> <paramdef>string <parameter>content</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_add_annotation</function> ajoute une note, dont le coin inférieur droit est (<parameter>llx</parameter>, <parameter>lly</parameter>) et le coin supérieur droit est (<parameter>urx</parameter>, <parameter>ury</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou si il est omis), c'est la valeur par défaut (72) qui est utilisé. </para> </refsect1> </refentry> <refentry id="function.cpdf-add-outline"> <refnamediv> <refname>cpdf_add_outline</refname> <refpurpose>Ajoute un signet à la page courante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_add_outline</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_add_outline</function> ajoute un signet à la page courante, avec le texte <parameter>text</parameter> qui pointe sur la page courante. <example> <title>Ajouter une mise en relief</title> <programlisting role="php"><?php$cpdf = cpdf_open(0);cpdf_page_init($cpdf, 1, 0, 595, 842);cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");// ...// quelques dessins// ...cpdf_finalize($cpdf);Header("Content-type: application/pdf");cpdf_output_buffer($cpdf);cpdf_close($cpdf);?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.cpdf-arc"> <refnamediv> <refname>cpdf_arc</refname> <refpurpose>Dessine un arc de cercle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_arc</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>float <parameter>radius</parameter></paramdef> <paramdef>float <parameter>start</parameter></paramdef> <paramdef>float <parameter>end</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_arc</function> dessine un arc de cercle, dont le centre est au point (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) et l'angle est <parameter>radius</parameter>, commençant à l'angle <parameter>start</parameter> et finissant à l'angle <parameter>end</parameter>. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_circle</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-begin-text"> <refnamediv> <refname>cpdf_begin_text</refname> <refpurpose>Démarre une section de texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_begin_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_begin_text</function> démarre une section de texte. Elle doit être terminée avec <function>cpdf_end_text</function>. <example> <title>Affichage de texte</title> <programlisting role="php"><?phpcpdf_begin_text($pdf);cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");cpdf_text($pdf, 100, 100, "Some text");cpdf_end_text($pdf)?> </programlisting> </example> </para> <para> Voir aussi <function>cpdf_end_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-circle"> <refnamediv> <refname>cpdf_circle</refname> <refpurpose>Dessine un cercle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_circle</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>float <parameter>radius</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_circle</function> dessine un cercle de centre (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>) et de rayon <parameter>radius</parameter>. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_arc</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-clip"> <refnamediv> <refname>cpdf_clip</refname> <refpurpose>Aligne les dessins sur le chemin courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_clip</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_clip</function> aligne les dessins sur le chemin courant. </para> </refsect1> </refentry> <refentry id="function.cpdf-close"> <refnamediv> <refname>cpdf_close</refname> <refpurpose>Ferme un fichier PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_close</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_close</function> ferme un fichier PDF. Ce doit être la dernière fonction appelée, et elle apparaît même après <function>cpdf_finalize</function>, <function>cpdf_output_buffer</function> et <function>cpdf_save_to_file</function>. </para> <para> Voir aussi <function>cpdf_open</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-closepath"> <refnamediv> <refname>cpdf_closepath</refname> <refpurpose>Ferme le chemin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_closepath</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_closepath</function> ferme le chemin courant. </para> </refsect1> </refentry> <refentry id="function.cpdf-closepath-fill-stroke"> <refnamediv> <refname>cpdf_closepath_fill_stroke</refname> <refpurpose>Remplit le chemin, dessine le bord et ferme le chemin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_closepath_fill_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_closepath_fill_stroke</function> remplit le chemin, dessine le bord et ferme le chemin. </para> <para> Voir aussi <function>cpdf_closepath</function>, <function>cpdf_stroke</function>, <function>cpdf_fill</function>, <function>cpdf_setgray_fill</function>, <function>cpdf_setgray</function>, <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-closepath-stroke"> <refnamediv> <refname>cpdf_closepath_stroke</refname> <refpurpose> Ferme le fichier et dessine une ligne le long du chemin. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_closepath_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_closepath_stroke</function> est une combinaison de <function>cpdf_closepath</function> et <function>cpdf_stroke</function>. </para> <para> Voir aussi <function>cpdf_closepath</function> et <function>cpdf_stroke</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-continue-text"> <refnamediv> <refname>cpdf_continue_text</refname> <refpurpose>Imprime le texte à la ligne suivante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_continue_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_continue_text</function> imprime le texte <parameter>text</parameter> à la ligne suivante. </para> <para> Voir aussi <function>cpdf_show_xy</function>, <function>cpdf_text</function>, <function>cpdf_set_leading</function> et <function>cpdf_set_text_pos</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-curveto"> <refnamediv> <refname>cpdf_curveto</refname> <refpurpose>Dessine une courbe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_curveto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x1</parameter></paramdef> <paramdef>float <parameter>y1</parameter></paramdef> <paramdef>float <parameter>x2</parameter></paramdef> <paramdef>float <parameter>y2</parameter></paramdef> <paramdef>float <parameter>x3</parameter></paramdef> <paramdef>float <parameter>y3</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_curveto</function> dessine une courbe de Bezier, entre le point courant et le point (<parameter>x3</parameter>, <parameter>y3</parameter>), en utilisant les points de contrôle (<parameter>x1</parameter>, <parameter>y1</parameter>) et (<parameter>x2</parameter>, <parameter>y2</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function>, <function>cpdf_rlineto</function> et <function>cpdf_lineto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-end-text"> <refnamediv> <refname>cpdf_end_text</refname> <refpurpose>Termine une section de texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_end_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_end_text</function> termine une section de texte, commencée avec <function>cpdf_begin_text</function>. <example> <title>Affichage de texte</title> <programlisting role="php"><?phpcpdf_begin_text($pdf);cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");cpdf_text($pdf, 100, 100, "Some text");cpdf_end_text($pdf)?> </programlisting> </example> </para> <para> Voir aussi <function>cpdf_begin_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-fill"> <refnamediv> <refname>cpdf_fill</refname> <refpurpose>Remplit le chemin courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_fill</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_fill</function> remplit l'intérieur du chemin courant avec la couleur courante. </para> <para> Voir aussi <function>cpdf_closepath</function>, <function>cpdf_stroke</function>, <function>cpdf_setgray_fill</function>, <function>cpdf_setgray</function>, <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-fill-stroke"> <refnamediv> <refname>cpdf_fill_stroke</refname> <refpurpose>Remplit le chemin, et dessine le bord.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_fill_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_fill_stroke</function> remplit l'intérieur du chemin avec la couleur courante, et dessine le chemin. </para> <para> Voir aussi <function>cpdf_closepath</function>, <function>cpdf_stroke</function>, <function>cpdf_fill</function>, <function>cpdf_setgray_fill</function>, <function>cpdf_setgray</function>, <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-finalize"> <refnamediv> <refname>cpdf_finalize</refname> <refpurpose>Termine un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_finalize</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_finalize</function> termine un document. Vous devez toujours appeler <function>cpdf_close</function> après. </para> <para> Voir aussi <function>cpdf_close</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-finalize-page"> <refnamediv> <refname>cpdf_finalize_page</refname> <refpurpose>Termine une page.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_finalize_page</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>page_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_finalize_page</function> termine la page de numéro <parameter>page_number</parameter>. <function>cpdf_finalize_page</function> ne fait qu'une sauvegarde mémoire. Les pages terminées prennent moins de place, mais ne peuvent plus être modifiées. </para> <para> Voir aussi <function>cpdf_page_init</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-global-set-document-limits"> <refnamediv> <refname>cpdf_global_set_document_limits</refname> <refpurpose>Fixe les limites d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef> void <function>cpdf_global_set_document_limits</function> </funcdef> <paramdef>int <parameter>maxpages</parameter></paramdef> <paramdef>int <parameter>maxfonts</parameter></paramdef> <paramdef>int <parameter>maximages</parameter></paramdef> <paramdef>int <parameter>maxannotations</parameter></paramdef> <paramdef>int <parameter>maxobjects</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_global_set_document_limits</function> permet de fixer plusieurs limites au document PDF. <function>cpdf_global_set_document_limits</function> doit être appelé avant <function>cpdf_open</function> pour être effective. Elle fixe les limites de tous les documents ouverts après. </para> <para> Voir aussi <function>cpdf_open</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-import-jpeg"> <refnamediv> <refname>cpdf_import_jpeg</refname> <refpurpose>Ouvre une image JPEG.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>cpdf_import_jpeg</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>file_name</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>float <parameter>angle</parameter></paramdef> <paramdef>float <parameter>width</parameter></paramdef> <paramdef>float <parameter>height</parameter></paramdef> <paramdef>float <parameter>x-scale</parameter></paramdef> <paramdef>float <parameter>y-scale</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_import_jpeg</function> ouvre une image JPG, enregistré dans le fichier <parameter>file_name</parameter>. Le format de l'image doit être JPEG. L'image est placée dans la page courante, aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). L'image subira une rotation d'un angle de <parameter>angle</parameter> degrés. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_place_inline_image</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-lineto"> <refnamediv> <refname>cpdf_lineto</refname> <refpurpose>Dessine une ligne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_lineto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_lineto</function> dessine une ligne entre le point courant et le point de coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function> et <function>cpdf_curveto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-moveto"> <refnamediv> <refname>cpdf_moveto</refname> <refpurpose>Fixe le point courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_moveto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_moveto</function> fixe le point courant aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> </refsect1> </refentry> <refentry id="function.cpdf-newpath"> <refnamediv> <refname>cpdf_newpath</refname> <refpurpose>Commence un nouveau chemin</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_newpath</function> </funcdef> <paramdef>int <parameter>pdf_document</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_newpath</function> commence un nouveau chemin dans le document <parameter>pdf_document</parameter>. </para> </refsect1> </refentry> <refentry id="function.cpdf-open"> <refnamediv> <refname>cpdf_open</refname> <refpurpose>Ouvre un nouveau document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>cpdf_open</function></funcdef> <paramdef>int <parameter>compression</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_open</function> ouvre un nouveau document PDF. Le premier paramètre <parameter>compression</parameter> active ou pas la compression, suivant qu'il vaut 0 ou 1. Le deuxième paramètre, optionnel, choisit le fichier de destination du document. S'il est omis, le document sera écrit en mémoire, et pourra être écrit dans un fichier avec <function>cpdf_save_to_file</function> ou envoyé à l'affichage avec <function>cpdf_output_buffer</function>. <note> <simpara> La valeur retournée sera nécessaire pour les autres fonctions de ClibPDF comme premier paramètre. </simpara> <simpara> La librairie ClibPDF prend le nom de fichier "-" comme synonyme de stdout. Si PHP est compilé comme un module apache, cela ne fonctionnera pas, car la méthode d'envoie des données de ClibPDF ne fonctionne pas avec Apache. Vous pouvez résoudre ce problème en ne fournissant pas de nom de fichier, et en utilisant la fonction <function>cpdf_output_buffer</function> pour afficher le document PDF. </simpara> </note> </para> <para> Voir aussi <function>cpdf_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-text"> <refnamediv> <refname>cpdf_text</refname> <refpurpose>Imprime un texte avec des options.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_text</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>float <parameter>x-coor</parameter></paramdef> <paramdef>float <parameter>y-coor</parameter></paramdef> <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> <paramdef> float <parameter><optional>orientation</optional></parameter> </paramdef> <paramdef> int <parameter><optional>alignmode</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_text</function> imprime le text <parameter>text</parameter> à la position de coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). Le paramètre <parameter>mode</parameter> est une unité de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est la valeur par défaut (72) qui est utilisé. </para> <para> Le paramètre optionel <parameter>orientation</parameter> est un angle de rotation du texte, en degrés. Le paramètre optionnel <parameter>alignmode</parameter> détermine l'alignement du texte. Reportez vous à la doc de ClibPDF, pour les valeurs possibles. </para> <para> Voir aussi <function>cpdf_show_xy</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-font"> <refnamediv> <refname>cpdf_set_font</refname> <refpurpose>Sélectionne la police courante et sa taille.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_font</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>font name</parameter></paramdef> <paramdef>float <parameter>size</parameter></paramdef> <paramdef>string <parameter>encoding</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_font</function> selectionne la police courante, sa taille et l'encodage. Actuellement, seules les polices postscript sont supportées. </para> <para> Le dernier paramètre <parameter>encoding</parameter> peut prendre les valeurs suivantes : "MacRomanEncoding", "MacExpertEncoding", "WinAnsiEncoding", et "&null;". "&null;" signifie qu'il faut utiliser l'encodage par défaut. </para> <para> Reportez vous à la doc de ClibPDF, pour plus d'informations, notamment sur les polices asiatiques. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-leading"> <refnamediv> <refname>cpdf_set_leading</refname> <refpurpose>Fixe la distance entre deux lignes.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_leading</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>distance</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_leading</function> fixe la distance entre deux lignes. Cela servira si le texte est affiché par <function>cpdf_continue_text</function>. </para> <para> Voir aussi <function>cpdf_continue_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-rendering"> <refnamediv> <refname>cpdf_set_text_rendering</refname> <refpurpose>Détermine le rendu du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_rendering</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_rendering</function> détermines le rendu du texte. </para> <para> Les valeurs possibles pour <parameter>mode</parameter> sont : 0=texte plein, 1=texte stroke, 2=texte plein et stroke, 3=invisible, 4=texte plein et ajouté au chemin, 5=texte stroke et ajouté au chemin, 6=texte plein et stroke et ajouté au chemin, 7=et ajouté au chemin. </para> </refsect1> </refentry> <refentry id="function.cpdf-restore"> <refnamediv> <refname>cpdf_restore</refname> <refpurpose>Restaure un environnement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_restore</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_restore</function> restaure l'environnement sauvé par <function>cpdf_save</function>. Cette fonction est similaire à la commande postscript grestore. Très pratique quand vous devez faire des translations et rotations sur un objet, mais sans affecter les autres. <example> <title>Sauver/Restaurer</title> <programlisting role="php"><?phpcpdf_save($pdf);// plein de transformations, translations, ...cpdf_restore($pdf)?> </programlisting> </example> </para> <para> Voir aussi <function>cpdf_save</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-rlineto"> <refnamediv> <refname>cpdf_rlineto</refname> <refpurpose>Dessine une ligne, relativement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_rlineto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_rlineto</function> dessine une ligne entre le point courant et le point de coordonnées relatives (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>, <function>cpdf_rmoveto</function> et <function>cpdf_curveto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-rmoveto"> <refnamediv> <refname>cpdf_rmoveto</refname> <refpurpose>Fixe le point courant relativement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_rmoveto</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_rmoveto</function> fixe le point courant aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>), relativement. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_moveto</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-rotate"> <refnamediv> <refname>cpdf_rotate</refname> <refpurpose>Effectue une rotation.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_rotate</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>angle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_rotate</function> effectue une rotation, d'un angle de <parameter>angle</parameter> degrés. </para> </refsect1> </refentry> <refentry id="function.cpdf-save"> <refnamediv> <refname>cpdf_save</refname> <refpurpose>Sauve l'environnement courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_save</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_save</function> sauve l'environnement courant. <function>cpdf_save</function> est similaire à la commande postscript gsave. Très pratique quand vous devez faire des translations et rotations sur un objet, mais sans affecter les autres. </para> <para> Voir aussi <function>cpdf_restore</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-save-to-file"> <refnamediv> <refname>cpdf_save_to_file</refname> <refpurpose>Ecrit un document PDF dans un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_save_to_file</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_save_to_file</function> écrit un document PDF dans un fichier, s'il a été créé en mémoire. <function>cpdf_save_to_file</function> n'est pas nécessaire si un nom de fichier a été fourni lors de l'appel à <function>cpdf_open</function>. </para> <para> Voir aussi <function>cpdf_output_buffer</function> et <function>cpdf_open</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-char-spacing"> <refnamediv> <refname>cpdf_set_char_spacing</refname> <refpurpose>Fixe l'espacement des caractères.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_pos</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>space</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_char_spacing</function> fixe l'espacement des caractères. </para> <para> Voir aussi <function>cpdf_set_word_spacing</function> et <function>cpdf_set_leading</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-creator"> <refnamediv> <refname>cpdf_set_creator</refname> <refpurpose>Fixe le créateur d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_creator</function></funcdef> <paramdef>string <parameter>creator</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_creator</function> fixe le créateur d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_subject</function>, <function>cpdf_set_title</function> et <function>cpdf_set_keywords</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-current-page"> <refnamediv> <refname>cpdf_set_current_page</refname> <refpurpose>Fixe la page courante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_current_page</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>page_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_current_page</function> fixe la page courante, où toutes les prochaines opérations vont avoir lieu. On peut changer de page jusqu'à ce qu'une page soit terminée avec <function>cpdf_finalize_page</function>. </para> <para> Voir aussi <function>cpdf_finalize_page</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-horiz-scaling"> <refnamediv> <refname>cpdf_set_horiz_scaling</refname> <refpurpose>Fixe l'échelle horizontale du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_horiz_scaling</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>scale</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_horiz_scaling</function> fixe l'échelle horizontale du texte à <parameter>scale</parameter> %. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-keywords"> <refnamediv> <refname>cpdf_set_keywords</refname> <refpurpose>Fixe les mot clés d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_keywords</function></funcdef> <paramdef>string <parameter>keywords</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_keywords</function> fixe les mots-clé d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_title</function>, <function>cpdf_set_creator</function> et <function>cpdf_set_subject</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-page-animation"> <refnamediv> <refname>cpdf_set_page_animation</refname> <refpurpose>Fixe l'animation de la transition entre les pages.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_page_animation</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>transition</parameter></paramdef> <paramdef>float <parameter>duration</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_page_animation</function> fixe l'animation de la transition entre les pages. </para> <para> La valeur du paramètre de transition <parameter>transition</parameter> peut être : <simplelist> <member> 0 pour aucune, </member> <member> 1 pour deux lignes en travers de l'écran, qui révèlent la prochaine page, </member> <member> 2 pour plusieurs lignes en travers de l'écran, qui révèlent la prochaine page, </member> <member> 3 pour une boîte qui révèle la prochaine page, </member> <member> 4 pour une seule ligne en travers de l'écran, qui révèle la prochaine page, </member> <member> 5 pour l'ancienne page qui se dissout </member> <member> 6 pour un effet de dissolution d'un angle à l'autre </member> <member> 7 pour le remplacement simple (par défaut) </member> </simplelist> </para> <para> La valeur de <parameter>duration</parameter> est le nombre de secondes avant le passage à la page suivante. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-subject"> <refnamediv> <refname>cpdf_set_subject</refname> <refpurpose>Fixe le sujet d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_subject</function></funcdef> <paramdef>string <parameter>subject</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_subject</function> fixe le sujet d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_title</function>, <function>cpdf_set_creator</function> et <function>cpdf_set_keywords</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-matrix"> <refnamediv> <refname>cpdf_set_text_matrix</refname> <refpurpose>Fixe la matrice du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_matrix</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>array <parameter>matrix</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_matrix</function> fixe la matrice du texte, qui décrit la transformation appliquée à police. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-pos"> <refnamediv> <refname>cpdf_set_text_pos</refname> <refpurpose>Fixe la position du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_pos</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_pos</function> Fixe la position du texte pour le prochain appel à <function>cpdf_show</function>. </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisée. </para> <para> Voir aussi <function>cpdf_show</function> et <function>cpdf_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-text-rise"> <refnamediv> <refname>cpdf_set_text_rise</refname> <refpurpose>Fixe l'élévation du texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_text_rise</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_text_rise</function> fixe l'élévation du texte à <parameter>value</parameter> unités. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-title"> <refnamediv> <refname>cpdf_set_title</refname> <refpurpose>Fixe le titre d'un document PDF.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_title</function></funcdef> <paramdef>string <parameter>title</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_title</function> fixe le titre d'un document PDF. </para> <para> Voir aussi <function>cpdf_set_subject</function>, <function>cpdf_set_creator</function> et <function>cpdf_set_keywords</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-word-spacing"> <refnamediv> <refname>cpdf_set_word_spacing</refname> <refpurpose>Fixe l'espacement des mots.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_set_word_spacing</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>space</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_set_word_spacing</function> fixe l'espacement des caractères. </para> <para> Voir aussi <function>cpdf_set_char_spacing</function> et <function>cpdf_set_leading</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setdash"> <refnamediv> <refname>cpdf_setdash</refname> <refpurpose>Fixe le motif de pointillé.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setdash</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>white</parameter></paramdef> <paramdef>float <parameter>black</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setdash</function> fixe le motif de pointillé à <parameter>white</parameter> unité de blanc et <parameter>black</parameter> unités de noir. Si les deux sont à 0, une ligne pleine est affichée. </para> </refsect1> </refentry> <refentry id="function.cpdf-setflat"> <refnamediv> <refname>cpdf_setflat</refname> <refpurpose>Fixe la platitude (flatness).</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setflat</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setflat</function> fixe la platitude (flatness), entre 0 et 100. </para> </refsect1> </refentry> <refentry id="function.cpdf-setgray"> <refnamediv> <refname>cpdf_setgray</refname> <refpurpose> Modifie un niveau de gris comme couleur de dessin et de remplissage. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setgray</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>gray_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setgray_stroke</function> remplace le niveau de gris, couleur de dessin et de remplissage, par <parameter>value</parameter>. </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function> et <function>cpdf_setrgbcolor_fill</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setgray-fill"> <refnamediv> <refname>cpdf_setgray_fill</refname> <refpurpose> Modifie le niveau de gris comme couleur de remplissage. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setgray_fill</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setgray_fill</function> remplace le niveau de gris, couleur de remplissage courante, par <parameter>value</parameter>. </para> <para> Voir aussi <function>cpdf_setrgbcolor_fill</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setgray-stroke"> <refnamediv> <refname>cpdf_setgray_stroke</refname> <refpurpose>Choisit un niveau de gris comme couleur de dessin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setgray_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>gray_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setgray_stroke</function> remplace le niveau de gris, couleur de dessin courante, par <parameter>value</parameter>. </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setlinecap"> <refnamediv> <refname>cpdf_setlinecap</refname> <refpurpose>Fixe le paramètre linecap.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setlinecap</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>int <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setlinecap</function> fixe le paramètre linecap à une valeur <parameter>value</parameter> entre 0 et 2. 0 = butt end, 1 = round, 2 = projecting square. </para> </refsect1> </refentry> <refentry id="function.cpdf-setlinejoin"> <refnamediv> <refname>cpdf_setlinejoin</refname> <refpurpose>Fixe le paramètre linejoin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setlinejoin</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>long <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setlinejoin</function> fixe le paramètre linejoin à une valeur <parameter>value</parameter>, entre 0 et 2. 0 = miter, 1 = round, 2 = bevel. </para> </refsect1> </refentry> <refentry id="function.cpdf-setlinewidth"> <refnamediv> <refname>cpdf_setlinewidth</refname> <refpurpose>Fixe la largeur de ligne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setlinewidth</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>width</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setlinewidth</function> fixe la largeur de ligne à la valeur de <parameter>width</parameter>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setmiterlimit"> <refnamediv> <refname>cpdf_setmiterlimit</refname> <refpurpose>Fixe le paramètre miter limit.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setmiterlimit</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setmiterlimit</function> fixe le paramètre "miter limit" à une valeur supérieure ou égale à 1. </para> </refsect1> </refentry> <refentry id="function.cpdf-setrgbcolor"> <refnamediv> <refname>cpdf_setrgbcolor</refname> <refpurpose> Choisit une couleur rgb comme couleur de dessin et de remplissage. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setrgbcolor</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>red_value</parameter></paramdef> <paramdef>float <parameter>green_value</parameter></paramdef> <paramdef>float <parameter>blue_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de remplissage et de dessin, par la couleur rgb (<parameter>red_value</parameter>, <parameter>green_value</parameter>, <parameter>blue_value</parameter>). </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function> et <function>cpdf_setrgbcolor_fill</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setrgbcolor-fill"> <refnamediv> <refname>cpdf_setrgbcolor_fill</refname> <refpurpose>Choisit une couleur rgb comme couleur de remplissage.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setrgbcolor_fill</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>red_value</parameter></paramdef> <paramdef>float <parameter>green_value</parameter></paramdef> <paramdef>float <parameter>blue_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setrgbcolor_fill</function> remplace la couleur de remplissage, par la couleur rgb (<parameter>red_value</parameter>, <parameter>green_value</parameter>, <parameter>blue_value</parameter>). </para> <para> Voir aussi <function>cpdf_setrgbcolor_stroke</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setrgbcolor-stroke"> <refnamediv> <refname>cpdf_setrgbcolor_stroke</refname> <refpurpose>Choisit une couleur rgb comme couleur de dessin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_setrgbcolor_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>red_value</parameter></paramdef> <paramdef>float <parameter>green_value</parameter></paramdef> <paramdef>float <parameter>blue_value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_setrgbcolor_stroke</function> remplace la couleur de dessin, par la couleur rgb (<parameter>red_value</parameter>, <parameter>green_value</parameter>, <parameter>blue_value</parameter>). </para> <para> Voir aussi <function>cpdf_setrgbcolor_fill</function> et <function>cpdf_setrgbcolor</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-show"> <refnamediv> <refname>cpdf_show</refname> <refpurpose>Imprime un texte à la position courante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_show</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_show</function> imprime la chaîne <parameter>text</parameter>, à la position courante. </para> <para> Voir aussi <function>cpdf_text</function>, <function>cpdf_begin_text</function> et <function>cpdf_end_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-show-xy"> <refnamediv> <refname>cpdf_show_xy</refname> <refpurpose>Affiche un texte à une position.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_show_xy</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>float <parameter>x-coor</parameter></paramdef> <paramdef>float <parameter>y-coor</parameter></paramdef> <paramdef>int <parameter><optional>mode</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_show_xy</function> imprime la chaîne <parameter>text</parameter>, à la position de coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). Le dernier paramètre optionnel est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisé. <note> <simpara> The function <function>cpdf_show_xy</function> est identique à <function>cpdf_text</function> sans les options. </simpara> </note> </para> <para> Voir aussi <function>cpdf_text</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-stringwidth"> <refnamediv> <refname>cpdf_stringwidth</refname> <refpurpose>Retourne la taille de la chaîne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>cpdf_stringwidth</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_stringwidth</function> retourne la taille de la chaîne <parameter>text</parameter>. Une police doit avoir déjà été choisie. </para> <para> Voir aussi <function>cpdf_set_font</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-stroke"> <refnamediv> <refname>cpdf_stroke</refname> <refpurpose>Dessine une ligne le long du chemin.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_stroke</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_stroke</function> dessine une ligne le long du chemin. </para> <para> Voir aussi <function>cpdf_closepath</function> et <function>cpdf_closepath_stroke</function>. </para> </refsect1> </refentry> <refentry id="function.cpdf-translate"> <refnamediv> <refname>cpdf_translate</refname> <refpurpose> Modifie l'origine du système de coordonnées. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_translate</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-koor</parameter></paramdef> <paramdef>float <parameter>y-koor</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_translate</function> modifie l'origine du système de coordonnées en plaçant l'origine aux coordonnées (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le paramètre <parameter>mode</parameter> est une unité de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par défaut (72) qui est utilisé. </para> </refsect1> </refentry> <refentry id="function.cpdf-scale"> <refnamediv> <refname>cpdf_scale</refname> <refpurpose>Modifie l'échelle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>cpdf_scale</function></funcdef> <paramdef>resource <parameter>pdf_document</parameter></paramdef> <paramdef>float <parameter>x-scale</parameter></paramdef> <paramdef>float <parameter>y-scale</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cpdf_scale</function> modifie l'échelle dans les deux directions. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/ctype.xml diff -u phpdoc/fr/functions/ctype.xml:1.4 phpdoc/fr/functions/ctype.xml:1.5 --- phpdoc/fr/functions/ctype.xml:1.4 Sun Jul 8 09:01:22 2001 +++ phpdoc/fr/functions/ctype.xml Mon Nov 12 00:10:20 2001 @@ -1,273 +1 @@ - <reference id="ref.ctype"> - <title>Caractères</title> - <titleabbrev>ctype</titleabbrev> - - <partintro> - &warn.experimental; - <para> - Ces fonctions vérifient si un caractère ou une chaîne - de caractères font partie d'une certaine classe de - caractères, en fonction de la configuration locale. - </para> - <para> - Appelée avec un argument de type entier, ces fonctions - se comportent exactement comme le équivalent en langage C. - </para> - <para> - Appelée avec un argument de type chaîne, elles vérifieront - chaque caractère de la chaîne, et ne retourneront - &true; que si chaque caractère - de la chaîne satisfait les critères requis. - </para> - <para> - Tout autre type d'argument (autre que chaîne ou entier) - génère une erreur, et retourne &false; - immédiatement. - </para> - <warning> - <simpara> - Ces fonctions ont été ajoutée en PHP 4.0.4, et leur nom peut - changer dans un futur proche. Les suggestions actuelles sont : - <function>ctype_issomething</function> au lieu de - <function>ctype_somthing</function> ou encore d'en faire une partie - <filename>ext/standard</filename> et utiliser ainsi leur - nom en langage C, même si cela peut conduire à des confusions - entre <function>isset</function> et <function>is_sometype</function>. - </simpara> - </warning> - </partintro> - - <refentry id="function.ctype-alnum"> - <refnamediv> - <refname>ctype_alnum</refname> - <refpurpose>Vérifie qu'un caractère est alpha-numérique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_alnum</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - Voir aussi <function>setlocale</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-alpha"> - <refnamediv> - <refname>ctype_alpha</refname> - <refpurpose>Vérifie qu'un caractère est alphabétique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_alpha</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-cntrl"> - <refnamediv> - <refname>ctype_cntrl</refname> - <refpurpose>Vérifie qu'un caractère est un caractère de contrôle</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_cntrl</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-digit"> - <refnamediv> - <refname>ctype_digit</refname> - <refpurpose>Vérifie qu'un caractère est numérique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_digit</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-lower"> - <refnamediv> - <refname>ctype_lower</refname> - <refpurpose>Vérifie qu'un caractère est en minuscule</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_lower</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-graph"> - <refnamediv> - <refname>ctype_graph</refname> - <refpurpose>Vérifie qu'un caractère est imprimable (sauf " ", espace)</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_graph</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-print"> - <refnamediv> - <refname>ctype_print</refname> - <refpurpose>Vérifie qu'un caractère est imprimable</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_print</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-punct"> - <refnamediv> - <refname>ctype_punct</refname> - <refpurpose> - Vérifie qu'un caractère est imprimable, sans être ni un espace, - ni un caractère alpha-numérique - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_punct</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-space"> - <refnamediv> - <refname>ctype_space</refname> - <refpurpose>Vérifie qu'un caractère est caractère blanc (espace, tabulation...)</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_space</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-upper"> - <refnamediv> - <refname>ctype_upper</refname> - <refpurpose>Vérifie qu'un caractère est en majuscule</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_upper</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - <refentry id="function.ctype-xdigit"> - <refnamediv> - <refname>ctype_xdigit</refname> - <refpurpose> - Vérifie qu'un caractère représente un nombre héxadécimal - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ctype_xdigit</function></funcdef> - <paramdef>string <parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - </para> - </refsect1> - </refentry> - - </reference> - -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> - +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.5 $ --><reference id="ref.ctype"> <title>Caractères</title> <titleabbrev>ctype</titleabbrev> <partintro> <para> Ces fonctions vérifient si un caractère ou une chaîne de caractères font partie d'une certaine classe de caractères, en fonction de la configuration locale. </para> <para> Appelée avec un argument de type entier, ces fonctions se comportent exactement comme le équivalent en langage C. </para> <para> Appelée avec un argument de type chaîne, elles vérifieront chaque caractère de la chaîne, et ne retourneront <literal>TRUE</literal> que si chaque caractère de la chaîne satisfait les critères requis. </para> <para> Tout autre type d'argument (autre que chaîne ou entier) génère une erreur, et retourne <literal>FALSE</literal> immédiatement. </para> <warning> <simpara> Ces fonctions ont été ajoutée en PHP 4.0.4, et leur nom peut changer dans un futur proche. Les suggestions actuelles sont : <literal>ctype_issomething()</literal> au lieu de <literal>ctype_somthing</literal> ou encore d'en faire une partie <filename>ext/standard</filename> et utiliser ainsi leur nom en langage C, même si cela peut conduire à des confusions entre <function>isset</function> et <literal>is_sometype</literal>. </simpara> </warning> </partintro> <refentry id="function.ctype-alnum"> <refnamediv> <refname>ctype_alnum</refname> <refpurpose> Vérifie qu'un caractère est alpha-numérique </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_alnum</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Voir aussi <function>setlocale</function>. </para> </refsect1> </refentry> <refentry id="function.ctype-alpha"> <refnamediv> <refname>ctype_alpha</refname> <refpurpose> Vérifie qu'un caractère est alphabétique </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_alpha</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-cntrl"> <refnamediv> <refname>ctype_cntrl</refname> <refpurpose> Vérifie qu'un caractère est un caractère de contrôle </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_cntrl</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-digit"> <refnamediv> <refname>ctype_digit</refname> <refpurpose>Vérifie qu'un caractère est numérique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_digit</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-lower"> <refnamediv> <refname>ctype_lower</refname> <refpurpose>Vérifie qu'un caractère est en minuscule</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_lower</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-graph"> <refnamediv> <refname>ctype_graph</refname> <refpurpose> Vérifie qu'un caractère est imprimable (sauf " ", espace) </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_graph</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-print"> <refnamediv> <refname>ctype_print</refname> <refpurpose>Vérifie qu'un caractère est imprimable</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_print</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-punct"> <refnamediv> <refname>ctype_punct</refname> <refpurpose> Vérifie qu'un caractère est imprimable, sans être ni un espace, ni un caractère alpha-numérique </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_punct</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-space"> <refnamediv> <refname>ctype_space</refname> <refpurpose> Vérifie qu'un caractère est caractère blanc (espace, tabulation...) </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_space</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-upper"> <refnamediv> <refname>ctype_upper</refname> <refpurpose>Vérifie qu'un caractère est en majuscule</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_upper</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.ctype-xdigit"> <refnamediv> <refname>ctype_xdigit</refname> <refpurpose> Vérifie qu'un caractère représente un nombre héxadécimal </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>ctype_xdigit</function></funcdef> <paramdef>string <parameter>c</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/curl.xml diff -u phpdoc/fr/functions/curl.xml:1.6 phpdoc/fr/functions/curl.xml:1.7 --- phpdoc/fr/functions/curl.xml:1.6 Wed Jul 25 15:34:32 2001 +++ phpdoc/fr/functions/curl.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <reference id="ref.curl"> <title>CURL</title> <titleabbrev>CURL</titleabbrev> @@ -104,7 +106,7 @@ </refentry> <refentry id="function.curl-setopt"> <refnamediv> - <refname>curl_init</refname> + <refname>curl_setopt</refname> <refpurpose>Modifie une option de transfert CURL</refpurpose> </refnamediv> <refsect1> Index: phpdoc/fr/functions/cybercash.xml diff -u phpdoc/fr/functions/cybercash.xml:1.5 phpdoc/fr/functions/cybercash.xml:1.6 --- phpdoc/fr/functions/cybercash.xml:1.5 Sat Jul 7 18:22:04 2001 +++ phpdoc/fr/functions/cybercash.xml Mon Nov 12 00:10:20 2001 @@ -1,110 +1 @@ - <reference id="ref.cybercash"> - <title>Paiement Cybercash</title> - <titleabbrev>Cybercash</titleabbrev> - <partintro> - <simpara> - Ces fonctions ne sont disponibles que si PHP a été - compilé avec l'option - <option role="configure">--with-cybercash=[DIR]</option>. Ces - fonctions ont été ajoutées dans PHP 4. - </simpara> - </partintro> - <refentry id="function.cybercash-encr"> - <refnamediv> - <refname>cybercash_encr</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>cybercash_encr</function></funcdef> - <paramdef>string <parameter>wmk</parameter></paramdef> - <paramdef>string <parameter>sk</parameter></paramdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cybercash_encr</function> retourne un tableau associatif, contenant - les éléments "errcode" et, si "errcode" vaut &false;, - "outbuff" (string), "outLth" (long) et "macbuff" (string). - </para> - </refsect1> - </refentry> - <refentry id="function.cybercash-decr"> - <refnamediv> - <refname>cybercash_decr</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>cybercash_decr</function></funcdef> - <paramdef>string <parameter>wmk</parameter></paramdef> - <paramdef>string <parameter>sk</parameter></paramdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>cybercash_decr</function> retourne un tableau associatif, contenant - les éléments "errcode" et, si "errcode" vaut &false;, - "outbuff" (string), "outLth" (long) et "macbuff" (string). - </para> - </refsect1> - </refentry> - <refentry id="function.cybercash-base64-encode"> - <refnamediv> - <refname>cybercash_base64_encode</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>cybercash_base64_encode</function> - </funcdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - </para> - </refsect1> - </refentry> - <refentry id="function.cybercash-base64-decode"> - <refnamediv> - <refname>cybercash_base64_decode</refname> - <refpurpose></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string - <function>cybercash_base64_decode</function> - </funcdef> - <paramdef>string <parameter>inbuff</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --> <reference id="ref.cybercash"> <title>Paiement Cybercash</title> <titleabbrev>Cybercash</titleabbrev> <partintro> <simpara> Ces fonctions ne sont disponibles que si PHP a été compilé avec l'option <option role="configure">--with-cybercash=[DIR]</option>. Ces fonctions ont été ajoutées dans PHP 4. </simpara> </partintro> <refentry id="function.cybercash-encr"> <refnamediv> <refname>cybercash_encr</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>cybercash_encr</function></funcdef> <paramdef>string <parameter>wmk</parameter></paramdef> <paramdef>string <parameter>sk</parameter></paramdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cybercash_encr</function> retourne un tableau associatif, contenant les éléments "errcode" et, si "errcode" vaut &false;, "outbuff" (string), "outLth" (long) et "macbuff" (string). </para> </refsect1> </refentry> <refentry id="function.cybercash-decr"> <refnamediv> <refname>cybercash_decr</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>cybercash_decr</function></funcdef> <paramdef>string <parameter>wmk</parameter></paramdef> <paramdef>string <parameter>sk</parameter></paramdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>cybercash_decr</function> retourne un tableau associatif, contenant les éléments "errcode" et, si "errcode" vaut &false;, "outbuff" (string), "outLth" (long) et "macbuff" (string). </para> </refsect1> </refentry> <refentry id="function.cybercash-base64-encode"> <refnamediv> <refname>cybercash_base64_encode</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>cybercash_base64_encode</function> </funcdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> <refentry id="function.cybercash-base64-decode"> <refnamediv> <refname>cybercash_base64_decode</refname> <refpurpose></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>cybercash_base64_decode</function> </funcdef> <paramdef>string <parameter>inbuff</parameter></paramdef> </funcprototype> </funcsynopsis> <para> </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/datetime.xml diff -u phpdoc/fr/functions/datetime.xml:1.22 phpdoc/fr/functions/datetime.xml:1.23 --- phpdoc/fr/functions/datetime.xml:1.22 Fri Jul 20 14:28:44 2001 +++ phpdoc/fr/functions/datetime.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.23 $ --> <reference id="ref.datetime"> <title>Dates et heures</title> <titleabbrev>Date/heure</titleabbrev> @@ -18,8 +20,8 @@ </funcsynopsis> <para> <function>checkdate</function> retourne &true; - si la date - <parameter>day</parameter>/<parameter>month</parameter>/<parameter>year</parameter> + si la date représentée par le jour <parameter>day</parameter>, + le mois <parameter>month</parameter> et l'année <parameter>year</parameter> est valide, et sinon &false;. Notez bien que l'ordre des arguments n'est pas l'ordre français. La date est considérée comme valide si : @@ -66,10 +68,26 @@ </funcsynopsis> <para> <function>date</function> retourne une date sous forme d'une chaîne, au format - donné par la chaîne format. La date est fournie - sous la forme d'un <parameter>timestamp</parameter>. Par défaut, - la date courante est utilisée. + donné par la chaîne <parameter>format</parameter>. + La date est fournie par le paramètre <parameter>timestamp</parameter>, + sous la forme d'un timestamp. Par défaut, la date courante est + utilisée. </para> + <note> + <para> + L'intervalle de validité d'un timestamp va généralement du + Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. + (Ces dates correspondent aux valeurs minimales et maximales des + entiers 32 bits non-signés). + </para> + <para> + Pour générer un timestamp à partir d'une représentation de date, + pour pouvez utiliser la fonction <function>strtotime</function>. De plus, + certaines bases de données disposent de fonctions pour convertir leurs + propres formats de date en timestamps (comme par exemple, + MySQL et sa fonction UNIX_TIMESTAMP()). + </para> + </note> <para> Les caractères suivants sont utilisés pour spécifier le format : @@ -172,6 +190,11 @@ </listitem> <listitem> <simpara> + O - Différence d'heures avec l'heure de Greenwich, exprimée en heures; i.e. "+0200" + </simpara> + </listitem> + <listitem> + <simpara> r - Format de date RFC 822; i.e. "Thu, 21 Dec 2000 16:01:07 +0200" (ajouté en PHP 4.0.4) </simpara> @@ -235,8 +258,23 @@ <title>Exemple avec <function>date</function></title> <programlisting role="php"> <?php - print (date("l dS of F Y h:i:s A")); - print ("July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000))); + echo (date("l dS of F Y h:i:s A")); + echo ("Le 14 Juillet 2002 tombe un " . date("l", mktime(0,0,0,7,14,2002))); +?> + </programlisting> + </example> + </para> + <para> + Vous pouvez faire afficher un caractère spécial dans la chaîne de format + en le protégeant par un anti-slash. Si le caractère est lui-même une séquence + incluant un anti-slash, vous devrez protéger aussi l'anti-slash. + <example> + <title>Protection des caractères avec <function>date</function></title> + <programlisting role="php"> +<?php +echo date("l \\t\h\e jS"); +// affiche 'Saturday the 8th' +// \t représente une tabulation ?> </programlisting> </example> @@ -251,15 +289,22 @@ </title> <programlisting role="php"> <?php - $tomorrow = mktime(0,0,0,date("m") ,date("d") + 1,date("Y") ); - $lastmonth = mktime(0,0,0,date("m")-1,date("d") ,date("Y") ); - $nextyear = mktime(0,0,0,date("m"), date("d") ,date("Y") + 1); + $demain = mktime(0,0,0,date("m") ,date("d") + 1,date("Y") ); + $le_mois_dernier = mktime(0,0,0,date("m")-1,date("d") ,date("Y") ); + $l_an_prochain = mktime(0,0,0,date("m"), date("d") ,date("Y") + 1); ?> </programlisting> </example> </para> + <note> + <para> + Cette méthode est plus sûre que simplement ajouter ou retrancher + le nombre de secondes dans une journée ou un mois à un timestamp, + à cause des heures d'hivers et d'été. + </para> + </note> <para> - Voici maintenant quelques exemples de formatages avec + Voici maintenant quelques exemples de formatage avec <function>date</function>. Notez que vous devriez échapper tous les autres caractères, car s'ils ont une signification spéciale, ils risquent de produire des effets secondaires @@ -296,6 +341,9 @@ </para> <para> Voir aussi + <function>getlastmod</function>, + <function>time</function>, + <function>strftime</function>, <function>gmdate</function> et <function>mktime</function>. </para> @@ -455,8 +503,8 @@ <title>Exemple avec <function>gmdate</function></title> <programlisting role="php"> <?php - echo date("M d Y H:i:s", mktime (0,0,0,1,1,1998)); - echo gmdate("M d Y H:i:s", mktime (0,0,0,1,1,1998)); + echo date("M d Y H:i:s", mktime(0,0,0,1,1,1998)); + echo gmdate("M d Y H:i:s", mktime(0,0,0,1,1,1998)); ?> </programlisting> </example> @@ -464,6 +512,7 @@ <para> Voir aussi <function>date</function>, + <function>strftime</function>, <function>mktime</function> et <function>gmmktime</function>. </para> @@ -1011,6 +1060,7 @@ </para> <para> Voir aussi + <function>strftime</function>, <function>setlocale</function>, <function>mktime</function> et le <ulink url="&spec.strftime;">groupe de spécifications de strftime()</ulink>. Index: phpdoc/fr/functions/dbase.xml diff -u phpdoc/fr/functions/dbase.xml:1.6 phpdoc/fr/functions/dbase.xml:1.7 --- phpdoc/fr/functions/dbase.xml:1.6 Thu Aug 2 05:52:07 2001 +++ phpdoc/fr/functions/dbase.xml Mon Nov 12 00:10:20 2001 @@ -1,406 +1 @@ -<reference id="ref.dbase"> - <title>dBase</title> - <titleabbrev>dBase</titleabbrev> - <partintro> - <simpara> - Ces fonctions vous permettront d'accéder aux enregistrements - d'une base au format dBase (.dbf). - </simpara> - <simpara> - dBase ne permet pas l'utilisation d'index, de "memo fields", ni le blocage - de la base. Deux processus de serveurs web différents modifiant - le même fichier dBase risque de rendre votre base de - données incohérente. - </simpara> - <simpara> - Les fichiers dBase sont de simples fichiers séquentiels - d'enregistrements de longueur fixe. Les enregistrements sont - ajoutés à la fin du fichier et les enregistrements - supprimés sont conservés jusqu'à - l'appel de <function>dbase_pack</function>. - </simpara> - <simpara> - Nous vous recommandons de ne pas utiliser les fichiers dBase comme base - de données de production. Choisissez n'importe quel serveur SQL - à la place. MySQL et PostgresSQL sont des choix classiques avec - PHP. Le support de dBase ne se justifie ici que pour vous permettre - d'importer et d'exporter des données depuis et vers votre base des - données issues du web, car ce format de fichier est - communément accepté par les feuilles et - organiseurs Windows. L'import et l'export de données est l'unique - chose pour laquelle l'utilisation de dBase est recommandée. - </simpara> - </partintro> - <refentry id="function.dbase-create"> - <refnamediv> - <refname>dbase_create</refname> - <refpurpose>Crée une base de données dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_create</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>array <parameter>fields</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>fields</parameter> est un tableau de tableaux. Chaque tableau - décrit le format d'un fichier de la base. Chaque champs est - constitué d'un nom, d'un caractère de type de champs, - d'une longueur et d'une précision. - </para> - <para> - Les types de champs disponibles sont : - <variablelist> - <varlistentry> - <term>L</term> - <listitem> - <simpara> - Boolean (booléen). Pas de longueur ou de précision pour ces valeurs. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>M</term> - <listitem> - <simpara> - Memo. (Note importante : les Memos ne sont pas supportés par PHP.) - Elles n'ont pas de longueur ou de précision. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>D</term> - <listitem> - <simpara> - Date (enregistrée au format 'YYYYMMDD'). Elles n'ont pas de longueur ou - de précision. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>N</term> - <listitem> - <simpara> - Number (nombre). Possède une longueur et un précision (le nombre de - chiffres après la virgule). - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>C</term> - <listitem> - <simpara> - String (chaîne). - </simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - Si la base de données a été créée, - un identifiant de base dbase_identifier est retourné, sinon, - <literal>FALSE</literal> est retourné. - <example> - <title>Création d'une base dBase</title> - <programlisting role="php"> -<?php -// "database" name - $dbname = "/tmp/test.dbf"; -// database "definition" - $def = - array( - array("date", "D"), - array("name", "C", 50), - array("age", "N", 3, 0), - array("email", "C", 128), - array("ismember", "L") - ); -// création - if (!dbase_create($dbname, $def)) - print "<strong>Error!</strong>"; -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-open"> - <refnamediv> - <refname>dbase_open</refname> - <refpurpose>Ouverture d'une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_open</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>flags</parameter> est un flag, comme pour la fonction open(). - (Typiquement; 0 signifie lecture seule, 1 signifie écriture seule, et - 2 écriture/lecture). - </para> - <para> - <function>dbase_open</function> retourne un identifiant de base de - données, ou <literal>FALSE</literal> si la base n'a pas pu être - sélectionnée. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-close"> - <refnamediv> - <refname>dbase_close</refname> - <refpurpose>Ferme une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_close</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_close</function> ferme la base associée à - <parameter>dbase_identifier</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-pack"> - <refnamediv> - <refname>dbase_pack</refname> - <refpurpose>Compacte une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_pack</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_pack</function> compacte la base de données - <parameter>dbase_identifier</parameter> (effacement définitif - de tous les enregistrements marqués pour l'effacement, - avec la fonction <function>dbase_delete_record</function>). - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-add-record"> - <refnamediv> - <refname>dbase_add_record</refname> - <refpurpose>Ajoute un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_add_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>array <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_add_record</function> ajoute les données de - <parameter>record</parameter> dans la base spécifiée par - <parameter>dbase_identifier</parameter>. Si le nombre de colonnes fourni - n'est pas celui du nombre de champs dans la base, l'opération - échouera, et <literal>FALSE</literal> sera retourné. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-replace-record"> - <refnamediv> - <refname>dbase_replace_record</refname> - <refpurpose>Remplace un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_replace_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>array <parameter>record</parameter></paramdef> - <paramdef>int <parameter>dbase_record_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>dbase_replace_record</function> remplace les données - associées à l'enregistrement <parameter>record_number</parameter> - par les données enregistrées dans <parameter>record</parameter>. - Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, - l'opération échouera, et <literal>FALSE</literal> sera retourné. - </simpara> - <simpara> - <parameter>dbase_record_number</parameter> est un entier qui peut aller de 1 - jusqu'au nombre maximal d'enregistrement de la base (retourné par - <function>dbase_numrecords</function>). - </simpara> - </refsect1> - </refentry> - <refentry id="function.dbase-delete-record"> - <refnamediv> - <refname>dbase_delete_record</refname> - <refpurpose>Efface un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbase_delete_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>int <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_delete_record</function> marque l'enregistrement - <parameter>record</parameter> pour l'effacement, dans la base - <parameter>dbase_identifier</parameter>. Pour effacer réellement - l'enregistrement, il faut utiliser aussi <function>dbase_pack</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-get-record"> - <refnamediv> - <refname>dbase_get_record</refname> - <refpurpose>Lit un enregistrement dans une base dBase.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>dbase_get_record</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>int <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_get_record</function> retourne les données de - l'enregistrement <parameter>record</parameter> dans un tableau. Le tableau est - indexé à partir de 0, et inclus un membre nommé 'deleted' - (effacé), qui sera mis à 1 si l'enregistrement a été - marqué pour l'effacement (voir <function>dbase_delete_record</function>). - </para> - <para> - Chaque champs est converti au format approprié PHP. (Les dates sont - laissées au format chaîne). - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-get-record-with-names"> - <refnamediv> - <refname>dbase_get_record_with_names</refname> - <refpurpose> - Lit un enregistrement dans une base, sous la forme d'un tableau associatif. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array - <function>dbase_get_record_with_names</function> - </funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - <paramdef>int <parameter>record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>dbase_identifier</parameter> retourne les données - de l'enregistrement <parameter>record</parameter> - dans un tableau associatif. Le tableau inclus un membre nommé 'deleted' - (effacé), qui sera mis à 1 si l'enregistrement a - été marqué pour l'effacement (voir - <function>dbase_delete_record</function>). - </para> - <para> - Chaque champs est converti au format approprié PHP. (Les dates sont - laissées au format chaîne). - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-numfields"> - <refnamediv> - <refname>dbase_numfields</refname> - <refpurpose> - Compte le nombre de champs d'une base dBase. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_numfields</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_numfields</function> retourne le nombre de champs (colonnes) - de la base de données <parameter>dbase_identifier</parameter>. - Les numéros de champs sont numérotés de 0 à - dbase_numfields($db)-1, tandis que les numéros d'enregistrements - sont numérotés de 1 à dbase_numrecords($db). - <example> - <title>Utiliser <function>dbase_numfields</function></title> - <programlisting role="php"> -<?php - $rec = dbase_get_record($db, $recno); - $nf = dbase_numfields($db); - for ($i=0; $i < $nf; $i++) { - print $rec[$i]."<br>\n"; - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dbase-numrecords"> - <refnamediv> - <refname>dbase_numrecords</refname> - <refpurpose> - Compter le nombre d'enregistrements dans une base dBase. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbase_numrecords</function></funcdef> - <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbase_numrecords</function> retourne le nombre d'enregistrements - (lignes) dans la base <parameter>dbase_identifier</parameter>. - Les numéros de champs sont numérotés de 0 à - <literal>dbase_numfields($db)-1</literal>, tandis que les numéros - d'enregistrements sont numérotés de 1 à - <literal>dbase_numrecords($db)</literal>. - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.7 $ --><reference id="ref.dbase"> <title>dBase</title> <titleabbrev>dBase</titleabbrev> <partintro> <simpara> Ces fonctions vous permettront d'accéder aux enregistrements d'une base au format dBase (.dbf). </simpara> <simpara> dBase ne permet pas l'utilisation d'index, de "memo fields", ni le blocage de la base. Deux processus de serveurs web différents modifiant le même fichier dBase risque de rendre votre base de données incohérente. </simpara> <simpara> Les fichiers dBase sont de simples fichiers séquentiels d'enregistrements de longueur fixe. Les enregistrements sont ajoutés à la fin du fichier et les enregistrements supprimés sont conservés jusqu'à l'appel de <function>dbase_pack</function>. </simpara> <simpara> Nous vous recommandons de ne pas utiliser les fichiers dBase comme base de données de production. Choisissez n'importe quel serveur SQL à la place. MySQL et PostgresSQL sont des choix classiques avec PHP. Le support de dBase ne se justifie ici que pour vous permettre d'importer et d'exporter des données depuis et vers votre base des données issues du web, car ce format de fichier est communément accepté par les feuilles et organiseurs Windows. L'import et l'export de données est l'unique chose pour laquelle l'utilisation de dBase est recommandée. </simpara> </partintro> <refentry id="function.dbase-create"> <refnamediv> <refname>dbase_create</refname> <refpurpose>Crée une base de données dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_create</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>array <parameter>fields</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>fields</parameter> est un tableau de tableaux. Chaque tableau décrit le format d'un fichier de la base. Chaque champs est constitué d'un nom, d'un caractère de type de champs, d'une longueur et d'une précision. </para> <para> Les types de champs disponibles sont : <variablelist> <varlistentry> <term>L</term> <listitem> <simpara> Boolean (booléen). Pas de longueur ou de précision pour ces valeurs. </simpara> </listitem> </varlistentry> <varlistentry> <term>M</term> <listitem> <simpara> Memo. (Note importante : les Memos ne sont pas supportés par PHP.) Elles n'ont pas de longueur ou de précision. </simpara> </listitem> </varlistentry> <varlistentry> <term>D</term> <listitem> <simpara> Date (enregistrée au format 'YYYYMMDD'). Elles n'ont pas de longueur ou de précision. </simpara> </listitem> </varlistentry> <varlistentry> <term>N</term> <listitem> <simpara> Number (nombre). Possède une longueur et un précision (le nombre de chiffres après la virgule). </simpara> </listitem> </varlistentry> <varlistentry> <term>C</term> <listitem> <simpara> String (chaîne). </simpara> </listitem> </varlistentry> </variablelist> </para> <para> Si la base de données a été créée, un identifiant de base dbase_identifier est retourné, sinon, <literal>FALSE</literal> est retourné. <example> <title>Création d'une base dBase</title> <programlisting role="php"><?php// "database" name $dbname = "/tmp/test.dbf";// database "definition" $def = array( array("date", "D"), array("name", "C", 50), array("age", "N", 3, 0), array("email", "C", 128), array("ismember", "L") );// création if (!dbase_create($dbname, $def)) print "<strong>Erreur!</strong>";?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dbase-open"> <refnamediv> <refname>dbase_open</refname> <refpurpose>Ouverture d'une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_open</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter>flags</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>flags</parameter> est un flag, comme pour la fonction open(). (Typiquement; 0 signifie lecture seule, 1 signifie écriture seule, et 2 écriture/lecture). </para> <para> <function>dbase_open</function> retourne un identifiant de base de données, ou <literal>FALSE</literal> si la base n'a pas pu être sélectionnée. </para> ¬e.sm.uidcheck; </refsect1> </refentry> <refentry id="function.dbase-close"> <refnamediv> <refname>dbase_close</refname> <refpurpose>Ferme une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_close</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_close</function> ferme la base associée à <parameter>dbase_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbase-pack"> <refnamediv> <refname>dbase_pack</refname> <refpurpose>Compacte une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_pack</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_pack</function> compacte la base de données <parameter>dbase_identifier</parameter> (effacement définitif de tous les enregistrements marqués pour l'effacement, avec la fonction <function>dbase_delete_record</function>). </para> </refsect1> </refentry> <refentry id="function.dbase-add-record"> <refnamediv> <refname>dbase_add_record</refname> <refpurpose>Ajoute un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_add_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>array <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_add_record</function> ajoute les données de <parameter>record</parameter> dans la base spécifiée par <parameter>dbase_identifier</parameter>. Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, l'opération échouera, et <literal>FALSE</literal> sera retourné. </para> </refsect1> </refentry> <refentry id="function.dbase-replace-record"> <refnamediv> <refname>dbase_replace_record</refname> <refpurpose>Remplace un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_replace_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>array <parameter>record</parameter></paramdef> <paramdef>int <parameter>dbase_record_number</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>dbase_replace_record</function> remplace les données associées à l'enregistrement <parameter>record_number</parameter> par les données enregistrées dans <parameter>record</parameter>. Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, l'opération échouera, et <literal>FALSE</literal> sera retourné. </simpara> <simpara> <parameter>dbase_record_number</parameter> est un entier qui peut aller de 1 jusqu'au nombre maximal d'enregistrement de la base (retourné par <function>dbase_numrecords</function>). </simpara> </refsect1> </refentry> <refentry id="function.dbase-delete-record"> <refnamediv> <refname>dbase_delete_record</refname> <refpurpose>Efface un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbase_delete_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>int <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_delete_record</function> marque l'enregistrement <parameter>record</parameter> pour l'effacement, dans la base <parameter>dbase_identifier</parameter>. Pour effacer réellement l'enregistrement, il faut utiliser aussi <function>dbase_pack</function>. </para> </refsect1> </refentry> <refentry id="function.dbase-get-record"> <refnamediv> <refname>dbase_get_record</refname> <refpurpose>Lit un enregistrement dans une base dBase.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>dbase_get_record</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>int <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_get_record</function> retourne les données de l'enregistrement <parameter>record</parameter> dans un tableau. Le tableau est indexé à partir de 0, et inclus un membre nommé 'deleted' (effacé), qui sera mis à 1 si l'enregistrement a été marqué pour l'effacement (voir <function>dbase_delete_record</function>). </para> <para> Chaque champs est converti au format approprié PHP. (Les dates sont laissées au format chaîne). </para> </refsect1> </refentry> <refentry id="function.dbase-get-record-with-names"> <refnamediv> <refname>dbase_get_record_with_names</refname> <refpurpose> Lit un enregistrement dans une base, sous la forme d'un tableau associatif. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>dbase_get_record_with_names</function> </funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> <paramdef>int <parameter>record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>dbase_identifier</parameter> retourne les données de l'enregistrement <parameter>record</parameter> dans un tableau associatif. Le tableau inclus un membre nommé 'deleted' (effacé), qui sera mis à 1 si l'enregistrement a été marqué pour l'effacement (voir <function>dbase_delete_record</function>). </para> <para> Chaque champs est converti au format approprié PHP. (Les dates sont laissées au format chaîne). </para> </refsect1> </refentry> <refentry id="function.dbase-numfields"> <refnamediv> <refname>dbase_numfields</refname> <refpurpose> Compte le nombre de champs d'une base dBase. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_numfields</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_numfields</function> retourne le nombre de champs (colonnes) de la base de données <parameter>dbase_identifier</parameter>. Les numéros de champs sont numérotés de 0 à dbase_numfields($db)-1, tandis que les numéros d'enregistrements sont numérotés de 1 à dbase_numrecords($db). <example> <title>Utiliser <function>dbase_numfields</function></title> <programlisting role="php"><?php $rec = dbase_get_record($db, $recno); $nf = dbase_numfields($db); for ($i=0; $i < $nf; $i++) { print $rec[$i]."<br>\n"; }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dbase-numrecords"> <refnamediv> <refname>dbase_numrecords</refname> <refpurpose> Compter le nombre d'enregistrements dans une base dBase. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbase_numrecords</function></funcdef> <paramdef>resource <parameter>dbase_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbase_numrecords</function> retourne le nombre d'enregistrements (lignes) dans la base <parameter>dbase_identifier</parameter>. Les numéros de champs sont numérotés de 0 à <literal>dbase_numfields($db)-1</literal>, tandis que les numéros d'enregistrements sont numérotés de 1 à <literal>dbase_numrecords($db)</literal>. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/dbm.xml diff -u phpdoc/fr/functions/dbm.xml:1.6 phpdoc/fr/functions/dbm.xml:1.7 --- phpdoc/fr/functions/dbm.xml:1.6 Thu Aug 2 05:53:25 2001 +++ phpdoc/fr/functions/dbm.xml Mon Nov 12 00:10:20 2001 @@ -1,307 +1 @@ -<reference id="ref.dbm"> - <title>DBM</title> - <titleabbrev>DBM</titleabbrev> - <partintro> - <simpara> - Ces fonctions vous permettent d'écrire des lignes dans une - base de données de type dbm. Ce type de base (supporté - par Berkeley db, gdbm, et quelques librairies systèmes, - ou certaines librairies du système d'exploitation) enregistre - les paires clés/valeurs, (contrairement aux enregistrements - par ligne, utilisé par les autres bases de données - relationnelles). - </simpara> - <para> - <example> - <title>Présentation de dbm</title> - <programlisting role="php"> -<?php - $dbm = dbmopen("dernier", "w"); - if (dbmexists($dbm, $userid)) { - $last_seen = dbmfetch($dbm, $userid); - } else { - dbminsert($dbm, $userid, time()); - } - faire_quelquechose(); - dbmreplace($dbm, $userid, time()); - dbmclose($dbm); -?> - </programlisting> - </example> - </para> - </partintro> - <refentry id="function.dbmopen"> - <refnamediv> - <refname>dbmopen</refname> - <refpurpose>Ouvre une base de données dbm</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>dbmopen</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>string <parameter>flags</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Le premier argument est le chemin absolu jusqu'au fichier dbm à - ouvrir. Le deuxième argument est le mode d'ouverture du fichier, - qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui - représentent respectivement lecture seule, nouveau (ce qui - implique lecture/écriture, et qui, probablement, va - écraser une base existante), création(ce qui - implique lecture/écriture, et qui, probablement, va - écraser une base existante), et lecture/écriture. - </para> - <para> - <function>dbmopen</function> retourne un identifiant, qui - sera passé à toutes les autres fonctions dbm, - en cas de succès, ou <literal>FALSE</literal> en - cas d'échec. - </para> - <para> - Si ndbm est utilisé, ndbm va créer les fichiers - <filename>filename.dir</filename> et <filename>filename.pag</filename>. - gdbm n'utilise qu'un fichier, tout comme les librairies internes, - et Berkeley db crée - le fichier <filename>filename.db</filename>. Notez que PHP - dispose de son propre système de verrouillage des - fichiers, qui s'additionne à celui éventuellement - utilisé par les librairies. PHP n'efface jamais les fichiers - <filename>.lck</filename> qu'il crée. Il les utilise comme - inode fixe, sur lequel faire le verrouillage. - Pour plus d'informations sur les fichiers dbm, reportez-vous - à vos pages de manuel Unix (man) , ou bien chargez gdbm : - <filename role="url">ftp://prep.ai.mit.edu/pub/gnu</filename>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmclose"> - <refnamediv> - <refname>dbmclose</refname> - <refpurpose>Ferme une base de données dbm.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmclose</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmclose</function> déverrouille et - ferme la base de données <parameter>dbm_identifier</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmexists"> - <refnamediv> - <refname>dbmexists</refname> - <refpurpose>Indique si une valeur existe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmexists</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmexists</function> retourne <literal>TRUE</literal> - s'il y a une valeur associée à la clé - <parameter>key</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmfetch"> - <refnamediv> - <refname>dbmfetch</refname> - <refpurpose>Lit une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbmfetch</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmfetch</function> retourne la valeur associée - à la clé <parameter>key</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbminsert"> - <refnamediv> - <refname>dbminsert</refname> - <refpurpose>Insère une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbminsert</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - <paramdef>string <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbminsert</function> ajoute la valeur - <parameter>value</parameter> dans la base de - données, avec la clé <parameter>key</parameter>. - </para> - <para> - <function>dbminsert</function> retourne -1 si la base a - été ouverte en mode lecture - seule, 0 si l'insertion a été réussie, et 1 si - la clé key existe déjà. (Pour remplacer la - valeur, utilisez <function>dbmreplace</function>.) - </para> - </refsect1> - </refentry> - <refentry id="function.dbmreplace"> - <refnamediv> - <refname>dbmreplace</refname> - <refpurpose>Remplace une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmreplace</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - <paramdef>string <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmreplace</function> remplace la valeur courante par - la valeur <parameter>value</parameter> pour la clé - <parameter>key</parameter>, dans une base <parameter>dbm_identifier</parameter>. - </para> - <para> - <function>dbmreplace</function> crée la clé, si elle n'existe pas - dans la base. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmdelete"> - <refnamediv> - <refname>dbmdelete</refname> - <refpurpose>Efface une valeur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbmdelete</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmdelete</function> efface la valeur de la clé - <parameter>key</parameter>, dans la base <parameter>dbm_identifier</parameter>. - </para> - <para> - <function>dbmdelete</function> retourne <literal>FALSE</literal> - si la clé n'existe pas dans cette base. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmfirstkey"> - <refnamediv> - <refname>dbmfirstkey</refname> - <refpurpose>Lit la première clé.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbmfirstkey</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmfirstkey</function> retourne la première - clé de la base de données. Notez bien que les - clés ne sont pas dans un ordre défini, - étant donné que la table est construite comme un tableau - associatif. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmnextkey"> - <refnamediv> - <refname>dbmnextkey</refname> - <refpurpose>Lit la clé suivante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbmnextkey</function></funcdef> - <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> - <paramdef>string <parameter>key</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbmnextkey</function> retourne la clé après la clé - <parameter>key</parameter>. En appelant <function>dbmfirstkey</function>, - puis successivement <function>dbmnextkey</function>, il est - possible de passer en revue toute les paires clé/valeur - de la base de données dbm. Par exemple : - <example> - <title>Passer en revue une base de données.</title> - <programlisting role="php"> -<?php - $cle = dbmfirstkey($dbm_id); - while ($cle){ - echo "$cle = " . dbmfetch($dbm_id, $cle) . "\n"; - $cle = dbmnextkey($dbm_id, $cle); - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dblist"> - <refnamediv> - <refname>dblist</refname> - <refpurpose>Décrit la librairie dbm utilisée.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dblist</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.7 $ --><reference id="ref.dbm"> <title>DBM</title> <titleabbrev>DBM</titleabbrev> <partintro> <simpara> Ces fonctions vous permettent d'écrire des lignes dans une base de données de type dbm. Ce type de base (supporté par Berkeley db, gdbm, et quelques librairies systèmes, ou certaines librairies du système d'exploitation) enregistre les paires clés/valeurs, (contrairement aux enregistrements par ligne, utilisé par les autres bases de données relationnelles). </simpara> <para> <example> <title>Présentation de dbm</title> <programlisting role="php"><?php $dbm = dbmopen("dernier", "w"); if (dbmexists($dbm, $userid)) { $last_seen = dbmfetch($dbm, $userid); } else { dbminsert($dbm, $userid, time()); } faire_quelquechose(); dbmreplace($dbm, $userid, time()); dbmclose($dbm);?> </programlisting> </example> </para> </partintro> <refentry id="function.dbmopen"> <refnamediv> <refname>dbmopen</refname> <refpurpose>Ouvre une base de données dbm</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>dbmopen</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>string <parameter>flags</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Le premier argument est le chemin absolu jusqu'au fichier dbm à ouvrir. Le deuxième argument est le mode d'ouverture du fichier, qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui représentent respectivement lecture seule, nouveau (ce qui implique lecture/écriture, et qui, probablement, va écraser une base existante), création(ce qui implique lecture/écriture, et qui, probablement, va écraser une base existante), et lecture/écriture. </para> <para> <function>dbmopen</function> retourne un identifiant, qui sera passé à toutes les autres fonctions dbm, en cas de succès, ou <literal>FALSE</literal> en cas d'échec. </para> <para> Si ndbm est utilisé, ndbm va créer les fichiers <filename>filename.dir</filename> et <filename>filename.pag</filename>. gdbm n'utilise qu'un fichier, tout comme les librairies internes, et Berkeley db crée le fichier <filename>filename.db</filename>. Notez que PHP dispose de son propre système de verrouillage des fichiers, qui s'additionne à celui éventuellement utilisé par les librairies. PHP n'efface jamais les fichiers <filename>.lck</filename> qu'il crée. Il les utilise comme inode fixe, sur lequel faire le verrouillage. Pour plus d'informations sur les fichiers dbm, reportez-vous à vos pages de manuel Unix (man) , ou bien chargez gdbm : <filename role="url">ftp://prep.ai.mit.edu/pub/gnu</filename>. </para> </refsect1> </refentry> <refentry id="function.dbmclose"> <refnamediv> <refname>dbmclose</refname> <refpurpose>Ferme une base de données dbm.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbmclose</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmclose</function> déverrouille et ferme la base de données <parameter>dbm_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbmexists"> <refnamediv> <refname>dbmexists</refname> <refpurpose>Indique si une valeur existe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbmexists</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmexists</function> retourne <literal>TRUE</literal> s'il y a une valeur associée à la clé <parameter>key</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbmfetch"> <refnamediv> <refname>dbmfetch</refname> <refpurpose>Lit une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbmfetch</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmfetch</function> retourne la valeur associée à la clé <parameter>key</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbminsert"> <refnamediv> <refname>dbminsert</refname> <refpurpose>Insère une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbminsert</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> <paramdef>string <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbminsert</function> ajoute la valeur <parameter>value</parameter> dans la base de données, avec la clé <parameter>key</parameter>. </para> <para> <function>dbminsert</function> retourne -1 si la base a été ouverte en mode lecture seule, 0 si l'insertion a été réussie, et 1 si la clé key existe déjà. (Pour remplacer la valeur, utilisez <function>dbmreplace</function>.) </para> </refsect1> </refentry> <refentry id="function.dbmreplace"> <refnamediv> <refname>dbmreplace</refname> <refpurpose>Remplace une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbmreplace</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> <paramdef>string <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmreplace</function> remplace la valeur courante par la valeur <parameter>value</parameter> pour la clé <parameter>key</parameter>, dans une base <parameter>dbm_identifier</parameter>. </para> <para> <function>dbmreplace</function> crée la clé, si elle n'existe pas dans la base. </para> </refsect1> </refentry> <refentry id="function.dbmdelete"> <refnamediv> <refname>dbmdelete</refname> <refpurpose>Efface une valeur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbmdelete</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmdelete</function> efface la valeur de la clé <parameter>key</parameter>, dans la base <parameter>dbm_identifier</parameter>. </para> <para> <function>dbmdelete</function> retourne <literal>FALSE</literal> si la clé n'existe pas dans cette base. </para> </refsect1> </refentry> <refentry id="function.dbmfirstkey"> <refnamediv> <refname>dbmfirstkey</refname> <refpurpose>Lit la première clé.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbmfirstkey</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmfirstkey</function> retourne la première clé de la base de données. Notez bien que les clés ne sont pas dans un ordre défini, étant donné que la table est construite comme un tableau associatif. </para> </refsect1> </refentry> <refentry id="function.dbmnextkey"> <refnamediv> <refname>dbmnextkey</refname> <refpurpose>Lit la clé suivante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbmnextkey</function></funcdef> <paramdef>resource <parameter>dbm_identifier</parameter></paramdef> <paramdef>string <parameter>key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>dbmnextkey</function> retourne la clé après la clé <parameter>key</parameter>. En appelant <function>dbmfirstkey</function>, puis successivement <function>dbmnextkey</function>, il est possible de passer en revue toute les paires clé/valeur de la base de données dbm. Par exemple : <example> <title>Passer en revue une base de données.</title> <programlisting role="php"><?php $cle = dbmfirstkey($dbm_id); while ($cle){ echo "$cle = " . dbmfetch($dbm_id, $cle) . "\n"; $cle = dbmnextkey($dbm_id, $cle); }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dblist"> <refnamediv> <refname>dblist</refname> <refpurpose>Décrit la librairie dbm utilisée.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dblist</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/dbx.xml diff -u phpdoc/fr/functions/dbx.xml:1.3 phpdoc/fr/functions/dbx.xml:1.4 --- phpdoc/fr/functions/dbx.xml:1.3 Sun Jul 8 09:01:22 2001 +++ phpdoc/fr/functions/dbx.xml Mon Nov 12 00:10:20 2001 @@ -1,557 +1 @@ - <reference id="ref.dbx"> - <title>dbx</title> - <titleabbrev>dbx</titleabbrev> - <partintro> - &warn.experimental; - <simpara> - Le module dbx est un module d'abstraction de base de données - (db pour database (base de données) et 'X' pour toutes les - bases supportées). Les fonctions dbx vous permettent d'accéder - à toutes les bases supportées, avec la même convention. Pour cela - il vous faut avoir ces fonctions compilées avec PHP (option - de configuration <option role="configure">--enable-dbx</option> - et toutes les bases que vous souhaitez utiliser. Par exemple, si - vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer - PHP avec - <link linkend="install.configure.with-mysql"><option role="configure">--with-mysql</option></link>. - Les fonctions dbx n'interface pas directement les bases de - données, mais utilise les modules de support de ces bases. - Pour pouvoir utiliser une base avec le module dbx, il vous - faut l'avoir configuré avec PHP, ou bien la charger - dynamiquement. Actuellement les bases MySQL, PostgreSQL et - ODBC sont supportées, mais d'autres suivront bientôt (j'espère). - </simpara> - <simpara> - La documentation complémentaire (ajout de nouvelles bases à dbx) est - accessible à <ulink url="&url.dbx.docs;">&url.dbx.docs;</ulink>. - </simpara> - </partintro> - - <refentry id="function.dbx-close"> - <refnamediv> - <refname>dbx_close</refname> - <refpurpose>Ferme une connexion à une base</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbx_close</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_close</function> retourne &true; en cas - de succès, et &false; en cas d'erreur. - </para> - <example> - <title>Exemple avec <function>dbx_close</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -print("Connexion réussie"); -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - <para> - Voir aussi - <function>dbx_connect</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-connect"> - <refnamediv> - <refname>dbx_connect</refname> - <refpurpose>Ouvre une connexion à une base de données</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>dbx_connect</function></funcdef> - <paramdef>string <parameter>module</parameter></paramdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>string <parameter>database</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>int - <parameter><optional>persistent</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_connect</function> retourne une resource dbx_link_object - en cas de succès, &false; sinon. Si la connexion a - put être établie, mais que la base de données n'a pas pu - être selectionnée, la fonction retournera quand même une ressource. - Le paramètre <parameter>persistent</parameter> peut prendre la - valeur DBX_PERSISTENT, pour créer une connexion persitante. - </para> - <para> - Les valeurs possibles de <parameter>module</parameter> sont - les suivantes (n'oubliez pas que cela fonctionnera que si - le module associé est chargé): - </para> - <para> - <itemizedlist> - <listitem> - <simpara> - module 1: "mysql" - </simpara> - </listitem> - <listitem> - <simpara> - module 2: "odbc" - </simpara> - </listitem> - <listitem> - <simpara> - module 3: "pgsql" - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Le support de pgsql est au stade expérimental, et vous devez - compiler vous-même le module pgsql après avoir modifié un - des fichiers sources. Sinon, vous aurez une alerte affichée - à chaque requête. - </para> - <para> - La ressource dbx_link_object a trois membres : 'handle', 'module' et - 'database'. Le membre 'database' contient le nom de la base de données - actuellement selectionnée. Le membre 'module' est à usage interne à - dbx, et contient le numéro de module sus-cité. Le membre - 'handle' est une resource valide de connexion à la base de données, - et peut être utilisé en tant que tel dans les autres fonctions - spécifiques à cette base de données. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe"); -mysql_close($link->handle); -// dbx_close($link) est beaucoup plus adapté ici -?> - </programlisting> - </informalexample> - </para> - <para> - Les paramètres <parameter>host</parameter>, <parameter>database</parameter>, - <parameter>username</parameter> et <parameter>password</parameter> sont - attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion - de la base de données utilisée. - </para> - <para> - <example> - <title>Exemple avec <function>dbx_connect</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe", DBX_PERSISTENT) - or die ("Impossible de se connecter"); -print ("Connexion réussie"); -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - </para> - <para> - Voir aussi - <function>dbx_close</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-error"> - <refnamediv> - <refname>dbx_error</refname> - <refpurpose> - Rapporte le message d'erreur du dernier appel de fonction - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dbx_error</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_error</function> retourne une chaîne contenant le - message d'erreur du module sélectionné. S'il y a des connexions - multiples sur le même module, seule la dernière erreur est fournie. - S'il a des des connexions sur différents modules, la dernière - erreur du module est retourné (le module est alors représenté par - <parameter>link_identifier</parameter>). Notez que le module - ODBC ne supporte pas encore cette fonction. - </para> - <example> - <title>Exemple avec <function>dbx_error</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "select id from nonexistingtbl"); -if ($result==0) { - echo dbx_error($link); -} -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - </refsect1> - </refentry> - - <refentry id="function.dbx-query"> - <refnamediv> - <refname>dbx_query</refname> - <refpurpose>Envoie une requête et lit tous les résultats</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>dbx_query</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>sql_statement</parameter></paramdef> - <paramdef>long - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_query</function> retourne une resource - dbx_result_object ou 1 en cas de succès (un objet de résultat - ne sera retourné que pour les requêtes SQL qui retournent un - résultat), ou 0 en cas d'erreur. Le paramètre - <parameter>flags</parameter> sert à contrôler la quantité - d'informations retournée. Il peut être n'importe quelle - combinaisons par OR des constantes : DBX_RESULT_INFO, - DBX_RESULT_INDEX, DBX_RESULT_ASSOC. DBX_RESULT_INFO fournit - des informations sur les colonnes, comme les noms des champs - et leur type. DBX_RESULT_INDEX retourne le résultat dans un - tableau indexé (par exemple, data[2][3], où 2 est le numéro - de ligne et 3 est le numéro de colonne), dont la première - colonne est indexée à 0. DBX_RESULT_ASSOC associe les noms - de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est - toujours retourné, indépendamment de la valeur de - <parameter>flags</parameter>. Si DBX_RESULT_ASSOC est spécifié, - DBX_RESULT_INFO est aussi retourné, même s'il n'a pas été - spécifié. Ce qui signifie que les seules combinaisons envisageables - sont - DBX_RESULT_INDEX, - DBX_RESULT_INDEX | DBX_RESULT_INFO et - DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC. La dernière - combinaison est la valeur par défaut de <parameter>flags</parameter>. - Les résultats associés sont en fait des références, ce qui fait que - modifier <literal>data[0][0]</literal>, revient à modifier - <literal>data[0]['fieldnameforfirstcolumn']</literal>. - </para> - <para> - Un objet dbx_result_object a 5 membres (éventuellement 4, suivants - les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows', - 'info' (optionnel) et 'data'. Handle est un identifiant de résultat, - qui peut être utilisé avec les fonctions spécifiques à son module. - Par exemple : - </para> - <para> - <informalexample role="php"> - <programlisting> -<?php -$result = dbx_query($link, "SELECT id FROM tbl"); -mysql_field_len($result->handle, 0); -?> - </programlisting> - </informalexample> - </para> - <para> - Les membres cols et rows contiennent les numéros de colonne et de - champs. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -$result = dbx_query($link, "SELECT id FROM tbl"); -echo "Taille du résultat: " . $result->rows . " x " . $result->cols . "<br>\n"; -?> - </programlisting> - </informalexample> - </para> - <para> - Le membre info n'est retourné que si DBX_RESULT_INFO et/ou - DBX_RESULT_ASSOC sont spécifié dans le paramètre <parameter>flags</parameter>. - C'est un deuxième tableau, qui possède deux lignes ("name" and "type"), - pour connaître les informations sur les colonnes. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -$result = dbx_query($link, "SELECT id FROM tbl"); -echo "Nom de la colonne : " . $result->info["name"][0] . "<br>\n"; -echo "Type de la colonne: " . $result->info["type"][0] . "<br>\n"; -?> - </programlisting> - </informalexample> - </para> - <para> - Le membre data contient les données effectivement lues, - éventuellement associées à des noms de colonnes. Si - DBX_RESULT_ASSOC est utilisé, il est possible d'utiliser - <literal>$result->data[2]["fieldname"]</literal>. - </para> - <example> - <title>Exemple avec <function>dbx_query</function></title> - <programlisting role="php"> -<?php -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl"); -if ($result==0) echo "La requête a échoué\n<br>"; -elseif ($result==1) { - echo "La requête a réussie\n<br>"; -} else { - $rows=$result->rows; - $cols=$result->cols; - echo "<p>table dimension: {$result->rows} x {$result->cols}<br><table border=1>\n"; - echo "<tr>"; - for ($col=0; $col<$cols; ++$col) { - echo "<td>-{$result->info["name"][$col]}-<br>-{$result->info["type"][$col]}-</td>"; - } - echo "</tr>\n"; - for ($row=0; $row<$rows; ++$row){ - echo "<tr>"; - for ($col=0; $col<$cols; ++$col) { - echo "<td>-{$result->data[$row][$col]}-</td>"; - } - echo "</tr>\n"; - } - echo "</table><p>\n"; - echo "table dimension: {$result->rows} x id, parentid, description<br><table border=1>\n"; - for ($row=0; $row<$rows; ++$row) { - echo "<tr>"; - echo "<td>-{$result->data[$row]["id"]}-</td>"; - echo "<td>-{$result->data[$row]["parentid"]}-</td>"; - echo "<td>-{$result->data[$row]["description"]}-</td>"; - echo "</tr>\n"; - } - echo "</table><p>\n"; -} -dbx_close($link); -?> - </programlisting> - </example> - <note> - <para> - Reportez vous aussi à documentation de la base de données que vous - utilisez. - </para> - </note> - <para> - Voir aussi - <function>dbx_connect</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-sort"> - <refnamediv> - <refname>dbx_sort</refname> - <refpurpose> - Tri un résultat avec une fonction utilisateur - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>dbx_sort</function></funcdef> - <paramdef>dbx_result_object <parameter>result</parameter></paramdef> - <paramdef>string - <parameter>user_compare_function</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_sort</function> retourne &true; - en cas de succès, et &false; sinon. - </para> - <example> - <title>Exemple avec <function>dbx_sort</function></title> - <programlisting role="php"> -<?php -function user_re_order ($a, $b) { - $rv = dbx_cmp_asc($a, $b, "parentid"); - if (!$rv) $rv = dbx_cmp_asc($a, $b, "id"); - return $rv; -} - -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); -echo "Les données sont maintenant triées par id<br>"; -dbx_query($result, "user_re_order"); -echo "Les données sont maintenant triées par parentid, puis par id<br>"; -dbx_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>dbx_cmp_asc</function> et - <function>dbx_cmp_desc</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-cmp-asc"> - <refnamediv> - <refname>dbx_cmp_asc</refname> - <refpurpose>Compare deux lignes pour tri croissant</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbx_cmp_asc</function></funcdef> - <paramdef>array <parameter>row_a</parameter></paramdef> - <paramdef>array <parameter>row_b</parameter></paramdef> - <paramdef>string <parameter>columnname_or_index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - &warn.experimental; - <para> - <function>dbx_cmp_asc</function> retourne 0 si row_a[$columnname_or_index] - est égal à row_b[$columnname_or_index], 1 si elle est plus grande et - -1 si elle est plus petite. - </para> - <example> - <title>Exemple avec <function>dbx_cmp_asc</function></title> - <programlisting role="php"> -<?php -function user_re_order($a, $b) { - $rv = dbx_cmp_asc($a, $b, "parentid"); - if (!$rv) { - $rv = dbx_cmp_asc($a, $b, "id"); - return $rv; - } -} - -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); -echo "Les données sont maintenant triées par id<br>"; -dbx_query($result, "user_re_order"); -echo "Les données sont maintenant triées par parentid, puis par id<br>"; -dbx_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>dbx_sort</function> et - <function>dbx_cmp_desc</function>. - </para> - </refsect1> - </refentry> - - <refentry id="function.dbx-cmp-desc"> - <refnamediv> - <refname>dbx_cmp_desc</refname> - <refpurpose>Compare deux lignes pour tri décroissant</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>dbx_cmp_desc</function></funcdef> - <paramdef>array <parameter>row_a</parameter></paramdef> - <paramdef>array <parameter>row_b</parameter></paramdef> - <paramdef>string - <parameter>columnname_or_index</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>dbx_cmp_desc</function> retourne 0 si row_a[$columnname_or_index] - est égal à row_b[$columnname_or_index], 1 si elle est plus grande et - -1 si elle est plus petite. - </para> - <example> - <title>Exemple avec <function>dbx_cmp_desc</function></title> - <programlisting role="php"> -<?php -function user_re_order ($a, $b) { - $rv = dbx_cmp_asc($a, $b, "parentid"); - if (!$rv) { - $rv = dbx_cmp_asc($a, $b, "id"); - return $rv; - } -} - -$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); -echo "Les données sont maintenant triées par id<br>"; -dbx_query($result, "user_re_order"); -echo "Les données sont maintenant triées par parentid, puis par id<br>"; -dbx_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>dbx_sort</function> et - <function>dbx_cmp_asc</function>. - </para> - </refsect1> - </refentry> - - </reference> - -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.4 $ --><reference id="ref.dbx"> <title>dbx</title> <titleabbrev>dbx</titleabbrev> <partintro> &warn.experimental; <simpara> Le module dbx est un module d'abstraction de base de données (db pour database (base de données) et 'X' pour toutes les bases supportées). Les fonctions dbx vous permettent d'accéder à toutes les bases supportées, avec la même convention. Pour cela il vous faut avoir ces fonctions compilées avec PHP (option de configuration <link linkend="install.configure.enable-dbx"><option role="configure">--enable-dbx</option></link> et toutes les bases que vous souhaitez utiliser. Par exemple, si vous voulez accéder à MySQL depuis dbx, vous devez aussi configurer PHP avec <link linkend="install.configure.with-mysql"><option role="install.configure.with-mysql">--with-mysql</option></link>. Les fonctions dbx n'interface pas directement les bases de données, mais utilise les modules de support de ces bases. Pour pouvoir utiliser une base avec le module dbx, il vous faut l'avoir configuré avec PHP, ou bien la charger dynamiquement. Actuellement les bases MySQL, PostgreSQL, Microsoft SQL server, FrontBase et ODBC sont supportées, mais d'autres suivront bientôt (j'espère). </simpara> <simpara> La documentation complémentaire (ajout de nouvelles bases à dbx) est accessible à <ulink url="&url.dbx.docs;">&url.dbx.docs;</ulink>. </simpara> </partintro> <refentry id="function.dbx-close"> <refnamediv> <refname>dbx_close</refname> <refpurpose>Ferme une connexion à une base</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbx_close</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_close</function> retourne &true; en cas de succès, et &false; en cas d'erreur. </para> <example> <title>Exemple avec <function>dbx_close</function></title> <programlisting role="php"><?php $link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe") or die ("Impossible de se connecter"); print("Connexion réussie"); dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> <para> Voir aussi <function>dbx_connect</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-connect"> <refnamediv> <refname>dbx_connect</refname> <refpurpose>Ouvre une connexion à une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>dbx_connect</function></funcdef> <paramdef>string <parameter>module</parameter></paramdef> <paramdef>string <parameter>host</parameter></paramdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>int <parameter><optional>persistent</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_connect</function> retourne une resource dbx_link_object en cas de succès, &false; sinon. Si la connexion a put être établie, mais que la base de données n'a pas pu être sélectionnée, la fonction retournera quand même une ressource. Le paramètre <parameter>persistent</parameter> peut prendre la valeur DBX_PERSISTENT, pour créer une connexion persitante. </para> <para> Le paramètre <parameter>module</parameter> peut être soit une chaîne, soit une constante. Les valeurs possibles de <parameter>module</parameter> sont listées ci-dessous (n'oubliez pas que cela fonctionnera que si le module associé est chargé): </para> <para> <itemizedlist> <listitem> <simpara>module DBX_MYSQL : "mysql" </simpara> </listitem> <listitem> <simpara>module DBX_ODBC : "odbc" </simpara> </listitem> <listitem> <simpara>module DBX_PGSQL : "pgsql" </simpara> </listitem> <listitem> <simpara>module DBX_MSSQL : "mssql" </simpara> </listitem> <listitem> <simpara>module DBX_FBSQL : "fbsql" (CVS uniquement) </simpara> </listitem> </itemizedlist> </para> <para> Le support de pgsql était au stade expérimental jusqu'en avril 2001, et vous devez compiler vous-même le module pgsql après avoir modifié un des fichiers sources. Sinon, vous aurez une alerte affichée à chaque requête. </para> <para> La ressource dbx_link_object a trois membres : 'handle', 'module' et 'database'. Le membre 'database' contient le nom de la base de données actuellement sélectionnée. Le membre 'module' est à usage interne à dbx, et contient le numéro de module sus-cité. Le membre 'handle' est une ressource valide de connexion à la base de données, et peut être utilisé en tant que tel dans les autres fonctions spécifiques à cette base de données. </para> <para> Le message d'erreur pour Microsoft SQL server est actuellement le résultat direct de la fonction <function>mssql_get_last_message</function>. </para> <para> <informalexample> <programlisting role="php"><?php$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe");mysql_close($link->handle);// dbx_close($link) est beaucoup plus adapté ici?> </programlisting> </informalexample> </para> <para> Les paramètres <parameter>host</parameter>, <parameter>database</parameter>, <parameter>username</parameter> et <parameter>password</parameter> sont attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion de la base de données utilisée. </para> <para> <example> <title>Exemple avec <function>dbx_connect</function></title> <programlisting role="php"><?php$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe", DBX_PERSISTENT) or die ("Impossible de se connecter");print ("Connexion réussie");dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> </para> <para> Voir aussi <function>dbx_close</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-error"> <refnamediv> <refname>dbx_error</refname> <refpurpose> Rapporte le message d'erreur du dernier appel de fonction </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dbx_error</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_error</function> retourne une chaîne contenant le message d'erreur du module sélectionné. S'il y a des connexions multiples sur le même module, seule la dernière erreur est fournie. S'il a des des connexions sur différents modules, la dernière erreur du module est retourné (le module est alors représenté par <parameter>link_identifier</parameter>). Notez que le module ODBC ne supporte pas encore cette fonction. </para> <example> <title>Exemple avec <function>dbx_error</function></title> <programlisting role="php"><?php$link = dbx_connect("mysql", "localhost", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "select id from nonexistingtbl");if ($result==0) { echo dbx_error($link);}dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> </refsect1> </refentry> <refentry id="function.dbx-query"> <refnamediv> <refname>dbx_query</refname> <refpurpose>Envoie une requête et lit tous les résultats</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>dbx_query</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter></paramdef> <paramdef>string <parameter>sql_statement</parameter></paramdef> <paramdef>long <parameter><optional>flags</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_query</function> retourne une ressource dbx_result_object ou 1 en cas de succès (un objet de résultat ne sera retourné que pour les requêtes SQL qui retournent un résultat), ou 0 en cas d'erreur. Le paramètre <parameter>flags</parameter> sert à contrôler la quantité d'informations retournée. Il peut être n'importe quelle combinaisons par OR des constantes : DBX_RESULT_INFO, DBX_RESULT_INDEX, DBX_RESULT_ASSOC. DBX_RESULT_INFO fournit des informations sur les colonnes, comme les noms des champs et leur type. DBX_RESULT_INDEX retourne le résultat dans un tableau indexé (par exemple, data[2][3], où 2 est le numéro de ligne et 3 est le numéro de colonne), dont la première colonne est indexée à 0. DBX_RESULT_ASSOC associe les noms de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est toujours retourné, indépendamment de la valeur de <parameter>flags</parameter>. Si DBX_RESULT_ASSOC est spécifié, DBX_RESULT_INFO est aussi retourné, même s'il n'a pas été spécifié. Ce qui signifie que les seules combinaisons envisageables sont DBX_RESULT_INDEX, DBX_RESULT_INDEX | DBX_RESULT_INFO et DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC. La dernière combinaison est la valeur par défaut de <parameter>flags</parameter>. Les résultats associés sont en fait des références, ce qui fait que modifier <literal>data[0][0]</literal>, revient à modifier <literal>data[0]['fieldnameforfirstcolumn']</literal>. </para> <para> Un objet dbx_result_object a 5 membres (éventuellement 4, suivants les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows', 'info' (optionnel) et 'data'. Handle est un identifiant de résultat, qui peut être utilisé avec les fonctions spécifiques à son module. Par exemple : </para> <para> <informalexample role="php"> <programlisting><?php$result = dbx_query($link, "SELECT id FROM tbl");mysql_field_len($result->handle, 0);?> </programlisting> </informalexample> </para> <para> Les membres cols et rows contiennent les numéros de colonne et de champs. </para> <para> <informalexample> <programlisting role="php"><?php$result = dbx_query($link, "SELECT id FROM tbl");echo "Taille du résultat: " . $result->rows . " x " . $result->cols . "<br>\n";?> </programlisting> </informalexample> </para> <para> Le membre info n'est retourné que si DBX_RESULT_INFO et/ou DBX_RESULT_ASSOC sont spécifié dans le paramètre <parameter>flags</parameter>. C'est un deuxième tableau, qui possède deux lignes ("name" and "type"), pour connaître les informations sur les colonnes. </para> <para> <informalexample> <programlisting role="php"><?php$result = dbx_query($link, "SELECT id FROM tbl");echo "Nom de la colonne : " . $result->info["name"][0] . "<br>\n";echo "Type de la colonne: " . $result->info["type"][0] . "<br>\n";?> </programlisting> </informalexample> </para> <para> Le membre data contient les données effectivement lues, éventuellement associées à des noms de colonnes. Si DBX_RESULT_ASSOC est utilisé, il est possible d'utiliser <literal>$result->data[2]["fieldname"]</literal>. </para> <example> <title>Exemple avec <function>dbx_query</function></title> <programlisting role="php"><?php$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl");if ($result==0) echo "La requête a échoué\n<br>";elseif ($result==1) { echo "La requête a réussie\n<br>";} else { $rows=$result->rows; $cols=$result->cols; echo "<p>table dimension: {$result->rows} x {$result->cols}<br><table border=1>\n"; echo "<tr>"; for ($col=0; $col<$cols; ++$col) { echo "<td>-{$result->info["name"][$col]}-<br>-{$result->info["type"][$col]}-</td>"; } echo "</tr>\n"; for ($row=0; $row<$rows; ++$row){ echo "<tr>"; for ($col=0; $col<$cols; ++$col) { echo "<td>-{$result->data[$row][$col]}-</td>"; } echo "</tr>\n"; } echo "</table><p>\n"; echo "table dimension: {$result->rows} x id, parentid, description<br><table border=1>\n"; for ($row=0; $row<$rows; ++$row) { echo "<tr>"; echo "<td>-{$result->data[$row]["id"]}-</td>"; echo "<td>-{$result->data[$row]["parentid"]}-</td>"; echo "<td>-{$result->data[$row]["description"]}-</td>"; echo "</tr>\n"; } echo "</table><p>\n";}dbx_close($link);?> </programlisting> </example> <note> <para> Reportez-vous aussi à la documentation de la base de données que vous utilisez. </para> </note> <para> Voir aussi <function>dbx_connect</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-sort"> <refnamediv> <refname>dbx_sort</refname> <refpurpose> Tri un résultat avec une fonction utilisateur </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>dbx_sort</function></funcdef> <paramdef>dbx_result_object <parameter>result</parameter></paramdef> <paramdef>string <parameter>user_compare_function</parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_sort</function> retourne &true; en cas de succès, et &false; sinon. </para> <example> <title>Exemple avec <function>dbx_sort</function></title> <programlisting role="php"><?phpfunction user_re_order ($a, $b) { $rv = dbx_cmp_desc($a, $b, "parentid"); if (!$rv) $rv = dbx_cmp_asc($a, $b, "id"); return $rv;}$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");echo "Les données sont maintenant triées par id<br>";dbx_sort($result, "user_re_order");echo "Les données sont maintenant triées par parentid décroissant, puis par id<br>";dbx_close($link);?> </programlisting> </example> <para> Voir aussi <function>dbx_cmp_asc</function> et <function>dbx_cmp_desc</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-cmp-asc"> <refnamediv> <refname>dbx_cmp_asc</refname> <refpurpose>Compare deux lignes pour tri croissant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbx_cmp_asc</function></funcdef> <paramdef>array <parameter>row_a</parameter></paramdef> <paramdef>array <parameter>row_b</parameter></paramdef> <paramdef>string <parameter>columnname_or_index</parameter></paramdef> <paramdef>int <parameter><optional>comparison_type</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> &warn.experimental; <para> <function>dbx_cmp_asc</function> retourne 0 si row_a[$columnname_or_index] est égal à row_b[$columnname_or_index], 1 si elle est plus grande et -1 si elle est plus petite. </para> <para> Le paramètre <parameter>comparison_type</parameter> sert utiliser le mode numérique pour les comparaisons (il faut alors lui passer <literal>DBX_CMP_NUMBER</literal>). Par défaut, la comparaison est textuelle (c'est-à-dire que "<literal>20</literal>" est plus grand que "<literal>100</literal>"). </para> <example> <title>Exemple avec <function>dbx_cmp_asc</function></title> <programlisting role="php"><?phpfunction user_re_order($a, $b) { $rv = dbx_cmp_desc($a, $b, "parentid"); if (!$rv) { $rv = dbx_cmp_asc($a, $b, "id"); return $rv; }}$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");echo "Les données sont maintenant triées par id<br>";dbx_sort($result, "user_re_order");echo "Les données sont maintenant triées par parentid décroissant, puis par id<br>";dbx_close($link);?> </programlisting> </example> <para> Voir aussi <function>dbx_sort</function> et <function>dbx_cmp_desc</function>. </para> </refsect1> </refentry> <refentry id="function.dbx-cmp-desc"> <refnamediv> <refname>dbx_cmp_desc</refname> <refpurpose>Compare deux lignes pour tri décroissant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>dbx_cmp_desc</function></funcdef> <paramdef>array <parameter>row_a</parameter></paramdef> <paramdef>array <parameter>row_b</parameter></paramdef> <paramdef>string <parameter>columnname_or_index</parameter> </paramdef> <paramdef>int <parameter><optional>comparison_type</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>dbx_cmp_desc</function> retourne 0 si row_a[$columnname_or_index] est égal à row_b[$columnname_or_index], 1 si elle est plus grande et -1 si elle est plus petite. </para> <para> Le paramètre <parameter>comparison_type</parameter> sert utiliser le mode numérique pour les comparaisons (il faut alors lui passer <literal>DBX_CMP_NUMBER</literal>). Par défaut, la comparaison est textuelle (c'est-à-dire que "<literal>20</literal>" est plus grand que "<literal>100</literal>"). </para> <example> <title>Exemple avec <function>dbx_cmp_desc</function></title> <programlisting role="php"><?phpfunction user_re_order ($a, $b) { $rv = dbx_cmp_desc($a, $b, "parentid"); if (!$rv) { $rv = dbx_cmp_asc($a, $b, "id"); return $rv; }}$link = dbx_connect("odbc", "", "base de données", "utilisateur", "mot de passe") or die ("Impossible de se connecter");$result = dbx_query($link, "SELECT id, parentid, description FROM tbl ORDER BY id");echo "Les données sont maintenant triées par id<br>";dbx_sort($result, "user_re_order");echo "Les données sont maintenant triées par parentid décroissant, puis par id<br>";dbx_close($link);?> </programlisting> </example> <para> Voir aussi <function>dbx_sort</function> et <function>dbx_cmp_asc</function>. </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/dir.xml diff -u phpdoc/fr/functions/dir.xml:1.9 phpdoc/fr/functions/dir.xml:1.10 --- phpdoc/fr/functions/dir.xml:1.9 Sat Jul 7 18:22:06 2001 +++ phpdoc/fr/functions/dir.xml Mon Nov 12 00:10:20 2001 @@ -1,272 +1 @@ - <reference id="ref.dir"> - <title>Accès aux dossiers</title> - <titleabbrev>Dossiers</titleabbrev> - <refentry id="function.chroot"> - <refnamediv> - <refname>chroot</refname> - <refpurpose>Change la racine</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chroot</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chroot</function> change la racine du script en cours, - et la remplace par <parameter>directory</parameter>. - <function>chroot</function> retourne &false; - s'il n'a pas pu modifier la racine, et &true; - sinon. - </para> - <para> - <note> - <para> - Il n'est pas conseillé d'utiliser cette fonction sur un - site web, car il n'est pas possible de restaurer la racine - à sa valeur initiale à la fin de la - requête. Cette fonction n'est viable que lorsque PHP est - utilisé en CGI. - </para> - </note> - </para> - </refsect1> - </refentry> - <refentry id="function.chdir"> - <refnamediv> - <refname>chdir</refname> - <refpurpose>Change de dossier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chdir</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chdir</function> change le dossier courant de PHP en - <parameter>directory</parameter>. <function>chdir</function> retourne &false; - si l'opération échoue, et &true; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.dir"> - <refnamediv> - <refname>dir</refname> - <refpurpose>Classe dossier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>new <function>dir</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Un mécanisme pseudo-objet permet la lecture d'un dossier. - L'argument <parameter>directory</parameter> doit être ouvert. - Deux propriétés sont disponibles une fois le dossier - ouvert : le pointeur peut être utilisé avec d'autres - fonctions telles que <function>readdir</function>, - <function>rewinddir</function> et <function>closedir</function>. - Le chemin du dossier est le chemin fourni lors de la construction - de l'objet. Trois méthodes permettent de lire, remettre - à zéro et fermer le dossier. - <example> - <title>Exemple avec <function>dir</function></title> - <programlisting role="php"> -<?php -$d = dir("/etc"); -echo "Pointeur: ".$d->handle."<br>\n"; -echo "Chemin: ".$d->path."<br>\n"; -while($entry=$d->read()) { - echo $entry."<br>\n"; -} -$d->close(); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.closedir"> - <refnamediv> - <refname>closedir</refname> - <refpurpose>Ferme le pointeur sur le dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>closedir</function></funcdef> - <paramdef>resource <parameter>dir_handle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>closedir</function> ferme le pointeur de dossier - <parameter>dir_handle</parameter>. Le dossier devait avoir - été ouvert avec <function>opendir</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.getcwd"> - <refnamediv> - <refname>getcwd</refname> - <refpurpose>Retourne le dossier de travail</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>getcwd</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>getcwd</function> retourne le nom du dossier courant. - </para> - </refsect1> - </refentry> - <refentry id="function.opendir"> - <refnamediv> - <refname>opendir</refname> - <refpurpose> - Ouvre un dossier, et récupère un pointeur dessus. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>opendir</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>opendir</function> retourne un pointeur sur un dossier - pour être utilisé avec les fonctions - <function>closedir</function>, <function>readdir</function> - et <function>rewinddir</function>. - </para> - <para> - Si le paramètre <parameter>path</parameter> n'est pas un dossier - valide, ou si le dossier ne peut être accédé - pour des raisons de permissions ou des erreurs liées au - système de fichiers, <function>opendir</function> retourne - &false; et génère une erreur PHP. - Vous pouvez supprimer cette erreur en ajoutant - <literal>@</literal> avant le nom de la fonction. - </para> - <para> - <example> - <title>Exemple <function>opendir</function></title> - <programlisting role="php"> -<?php -if ($dir = @opendir("/tmp")) { - while($file = readdir($dir)) { - echo "$file\n"; - } - closedir($dir); -} -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.readdir"> - <refnamediv> - <refname>readdir</refname> - <refpurpose>Lit une entrée du dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>readdir</function></funcdef> - <paramdef>resource <parameter>dir_handle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>readdir</function> retourne le nom du fichier suivant dans - le dossier identifié par <parameter>dir_handle</parameter>. - Les noms sont retournés dans n'importe quel ordre. - <example> - <title>Liste tous les fichiers du dossier courant</title> - <programlisting role="php"> -<?php -$handle=opendir('.'); -echo "Pointeur de dossier: $handle\n"; -echo "Fichiers:\n"; -while ($file = readdir($handle)) { - echo "$file\n"; -} -closedir($handle); -?> - </programlisting> - </example> - </para> - <para> - Notez que <function>readdir</function> retournera aussi les dossiers "." et - "..". Si vous ne les voulez pas, supprimez les simplement : - <example> - <title> - Liste tous les fichiers du dossier courant, sauf "." et ".." - </title> - <programlisting role="php"> -<?php -$handle=opendir('.'); -while ($file = readdir($handle)) { - if ($file != "." && $file != "..") { - echo "$file\n"; - } -} -closedir($handle); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.rewinddir"> - <refnamediv> - <refname>rewinddir</refname> - <refpurpose>Retourne à la première entrée du dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>rewinddir</function></funcdef> - <paramdef>resource <parameter>dir_handle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rewinddir</function> retourne à la première - entrée du dossier identifié par <parameter>dir_handle</parameter> : - le prochain fichier lu sera le premier. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.10 $ --> <reference id="ref.dir"> <title>Accès aux dossiers</title> <titleabbrev>Dossiers</titleabbrev> <partintro> <simpara> Pour les fonctions associées telles que <function>dirname</function>, <function>is_dir</function>, <function>mkdir</function>, et <function>rmdir</function>, reportez-vous à la section sur le <link linkend="ref.filesystem">système de fichiers</link>. </simpara> </partintro> <refentry id="function.chroot"> <refnamediv> <refname>chroot</refname> <refpurpose>Change la racine</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chroot</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chroot</function> change la racine du script en cours, et la remplace par <parameter>directory</parameter>. <function>chroot</function> retourne &false; s'il n'a pas pu modifier la racine, et &true; sinon. </para> <para> <note> <para> Il n'est pas conseillé d'utiliser cette fonction sur un site web, car il n'est pas possible de restaurer la racine à sa valeur initiale à la fin de la requête. Cette fonction n'est viable que lorsque PHP est utilisé en CGI. </para> </note> </para> </refsect1> </refentry> <refentry id="function.chdir"> <refnamediv> <refname>chdir</refname> <refpurpose>Change de dossier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chdir</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chdir</function> change le dossier courant de PHP en <parameter>directory</parameter>. <function>chdir</function> retourne &false; si l'opération échoue, et &true; sinon. </para> </refsect1> </refentry> <refentry id="function.dir"> <refnamediv> <refname>dir</refname> <refpurpose>Classe dossier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>new <function>dir</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Un mécanisme pseudo-objet permet la lecture d'un dossier. L'argument <parameter>directory</parameter> doit être ouvert. Deux propriétés sont disponibles une fois le dossier ouvert : le pointeur peut être utilisé avec d'autres fonctions telles que <function>readdir</function>, <function>rewinddir</function> et <function>closedir</function>. Le chemin du dossier est le chemin fourni lors de la construction de l'objet. Trois méthodes permettent de lire, remettre à zéro et fermer le dossier. <example> <title>Exemple avec <function>dir</function></title> <programlisting role="php"><?php$d = dir("/etc");echo "Pointeur: ".$d->handle."<br>\n";echo "Chemin: ".$d->path."<br>\n";while($entry=$d->read()) { echo $entry."<br>\n";}$d->close();?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.closedir"> <refnamediv> <refname>closedir</refname> <refpurpose>Ferme le pointeur sur le dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>closedir</function></funcdef> <paramdef>resource <parameter>dir_handle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>closedir</function> ferme le pointeur de dossier <parameter>dir_handle</parameter>. Le dossier devait avoir été ouvert avec <function>opendir</function>. </para> </refsect1> </refentry> <refentry id="function.getcwd"> <refnamediv> <refname>getcwd</refname> <refpurpose>Retourne le dossier de travail</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>getcwd</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>getcwd</function> retourne le nom du dossier courant. </para> </refsect1> </refentry> <refentry id="function.opendir"> <refnamediv> <refname>opendir</refname> <refpurpose> Ouvre un dossier, et récupère un pointeur dessus. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>opendir</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>opendir</function> retourne un pointeur sur un dossier pour être utilisé avec les fonctions <function>closedir</function>, <function>readdir</function> et <function>rewinddir</function>. </para> <para> Si le paramètre <parameter>path</parameter> n'est pas un dossier valide, ou si le dossier ne peut être accédé pour des raisons de permissions ou des erreurs liées au système de fichiers, <function>opendir</function> retourne &false; et génère une erreur PHP. Vous pouvez supprimer cette erreur en ajoutant <literal>@</literal> avant le nom de la fonction. </para> <para> <example> <title>Exemple <function>opendir</function></title> <programlisting role="php">>>>>>>> 1.9<?phpif ($dir = @opendir("/tmp")) { while($file = readdir($dir)) { echo "$file\n"; } closedir($dir);}?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.readdir"> <refnamediv> <refname>readdir</refname> <refpurpose>Lit une entrée du dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>readdir</function></funcdef> <paramdef>resource <parameter>dir_handle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>readdir</function> retourne le nom du fichier suivant dans le dossier identifié par <parameter>dir_handle</parameter>. Les noms sont retournés dans n'importe quel ordre. <example> <title>Liste tous les fichiers du dossier courant</title> <programlisting role="php"><?php $handle=opendir('.'); echo "Pointeur de dossier: $handle\n"; echo "Fichiers:\n"; while ($file = readdir($handle)) { echo "$file\n"; } closedir($handle);?> </programlisting> </example> </para> <para> Notez que <function>readdir</function> retournera aussi les dossiers "." et "..". Si vous ne les voulez pas, supprimez les simplement : <example> <title> Liste tous les fichiers du dossier courant, sauf "." et ".." </title> <programlisting role="php"><?php$handle=opendir('.');while ($file = readdir($handle)) { if ($file != "." && $file != "..") { echo "$file\n"; }}closedir($handle);?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.rewinddir"> <refnamediv> <refname>rewinddir</refname> <refpurpose>Retourne à la première entrée du dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>rewinddir</function></funcdef> <paramdef>resource <parameter>dir_handle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rewinddir</function> retourne à la première entrée du dossier identifié par <parameter>dir_handle</parameter> : le prochain fichier lu sera le premier. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/domxml.xml diff -u phpdoc/fr/functions/domxml.xml:1.7 phpdoc/fr/functions/domxml.xml:1.8 --- phpdoc/fr/functions/domxml.xml:1.7 Fri Jul 20 03:57:44 2001 +++ phpdoc/fr/functions/domxml.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.8 $ --> <reference id="ref.domxml"> <title>DOM XML</title> <titleabbrev>DOM XML</titleabbrev> @@ -5,7 +7,8 @@ <simpara> Note importante : cette documentation est en cours de rédaction, et n'est pas encore finie. Elle souffre naturellement d'un - manque de détails et de relecture. Soyez en prévenu. (Damien Seguy). + manque de détails et de relecture. Soyez en prévenu. (Damien + Seguy). </simpara> <simpara> Ces fonctions ne sont disponibles que si PHP a été @@ -21,11 +24,12 @@ qui transforme un fichier XML en tableau PHP. Actuellement, ce tableau est accessible uniquement en lecture. Cela ne siginifie pas que vous ne pouvez pas le modifier, mais cela n'aurait aucun sens - car <function>domxml_dumpmem</function> ne pourra pas prendre ces modifications - en considération. Par conséquent, si vous voulez lire un fichier XML - et écrire sa version modifiée, utilisez les fonctions - <function>domxml_add_node</function>, <function>domxml_set_attribute</function>, etc... - et finalement, <function>domxml_dumpmem</function>. + car <function>domxml_dumpmem</function> ne pourra pas prendre ces + modifications en considération. Par conséquent, si vous voulez + lire un fichier XML et écrire sa version modifiée, utilisez les + fonctions <function>domxml_add_node</function>, + <function>domxml_set_attribute</function>, etc... + et finalement <function>domxml_dumpmem</function>. </simpara> <simpara> Ce module définit les constantes suivantes : @@ -407,6 +411,7 @@ <paramdef>string <parameter>str</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>xmldoc</function> analyse le document XML <parameter>str</parameter> et retourne un objet de classe "Dom document", avec les @@ -428,6 +433,7 @@ <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>xmldocfile</function> analyse le fichier XML <parameter>filename</parameter> et retourne un objet "Dom document", @@ -452,6 +458,7 @@ <paramdef>string <parameter>str</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>xmltree</function> analyse le document XML <parameter>str</parameter> et retourne un arbre d'objets PHP qui représente le document @@ -478,6 +485,7 @@ <paramdef>object <parameter>doc</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_root</function> prend en argument <parameter>doc</parameter>, un objet de la classe "Dom document", et retourn l'élément racine de @@ -542,6 +550,7 @@ <paramdef>string <parameter>name</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_add_root</function> ajoute la racine <parameter>name</parameter> au document <parameter>doc</parameter>. @@ -576,6 +585,7 @@ <paramdef>resource <parameter>doc</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_dumpmem</function> crée un document XML à partir de la représentation interne. <function>domxml_dumpmem</function> @@ -603,6 +613,7 @@ <paramdef>resource <parameter>node</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_attributes</function> retourne tous les attributs du noeud <parameter>node</parameter> sous forme @@ -626,6 +637,7 @@ <paramdef>string <parameter>name</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_get_attribute</function> retourn l'attribut <parameter>name</parameter> du noeud <parameter>node</parameter>. @@ -653,6 +665,7 @@ <paramdef>string <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_set_attribute</function> modifie l'attribut <parameter>name</parameter> du noeud <parameter>node</parameter> @@ -696,6 +709,7 @@ <paramdef>object <parameter>doc|node</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_children</function> retourne tous les fils du noeud <parameter>doc|node</parameter>, sous forme d'un tableau @@ -714,7 +728,7 @@ $head = $root->new_child("HEAD", ""); $head->new_child("TITLE", "Hier der Titel"); $head->set_attribute("Language", "ge"); - $children = $head->children() + $children = $head->children(); ?> </programlisting> </example> @@ -737,6 +751,7 @@ <paramdef>string <parameter>content</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_new_child</function> ajoute un nouveau fils. (NDtraducteur : cette documentation n'est pas encore finie...) @@ -758,6 +773,7 @@ <paramdef>string <parameter>version</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> <function>domxml_new_xmldoc</function> crée un nouveau document XML vide, et le retourne. @@ -783,6 +799,7 @@ <paramdef>object <parameter>dom_document</parameter></paramdef> </funcprototype> </funcsynopsis> + &warn.experimental.func; <para> </para> <para> @@ -805,11 +822,26 @@ <paramdef>object <parameter>xpath_context</parameter></paramdef> </funcprototype> </funcsynopsis> - <para> - </para> + &warn.experimental.func; <para> Pas de documentation encore (22/2/2201). </para> </refsect1> </refentry> -</reference> \ No newline at end of file +</reference> +<!-- 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 +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +--> \ No newline at end of file Index: phpdoc/fr/functions/exec.xml diff -u phpdoc/fr/functions/exec.xml:1.6 phpdoc/fr/functions/exec.xml:1.7 --- phpdoc/fr/functions/exec.xml:1.6 Fri Jul 13 03:43:21 2001 +++ phpdoc/fr/functions/exec.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> <reference id="ref.exec"> <title>Exécution de programmes externes</title> <titleabbrev>Exécution de programmes</titleabbrev> @@ -96,7 +98,7 @@ <function>exec</function>, <function>popen</function>, <function>system</function>, et - les opérateurs + les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> @@ -155,7 +157,7 @@ <para> Voir aussi <function>system</function>, <function>passthru</function>, <function>popen</function>, - <function>escapeshellcmd</function>, et les opérateurs + <function>escapeshellcmd</function>, et les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> @@ -201,7 +203,7 @@ <function>system</function>, <function>popen</function>, <function>escapeshellcmd</function>, - et les opérateurs + et les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> @@ -259,7 +261,7 @@ <function>passthru</function>, <function>popen</function>, <function>escapeshellcmd</function> et - les opérateurs + les opérateurs <link linkend="language.operators.execution">guillemets obliques</link>. </para> </refsect1> Index: phpdoc/fr/functions/fbsql.xml diff -u phpdoc/fr/functions/fbsql.xml:1.6 phpdoc/fr/functions/fbsql.xml:1.7 --- phpdoc/fr/functions/fbsql.xml:1.6 Wed Aug 8 05:43:06 2001 +++ phpdoc/fr/functions/fbsql.xml Mon Nov 12 00:10:20 2001 @@ -1,1786 +1 @@ -<!-- $Revision: 1.6 $ --> -<reference id="ref.fbsql"> - <title>FrontBase</title> - <titleabbrev>FrontBase</titleabbrev> - <partintro> - &warn.experimental; - <simpara> - Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Pour - pouvoir les utiliser, vous devez compiler PHP avec le support fbsql en - utilisant l'option <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql</option></link>. Si - vous utilisez cette option sans spécifier le chemin jusqu'à l'installation - fbsql, PHP recherchera les librairies du client fbsql dans les dossiers - habituels, sur votre système. Les utilisateurs qui ont installé - FrontBase dans un dossier non standard doivent spécifier le chemin comme - ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. - Cela va indiquer à PHP le bon emplacement des librairies de FrontBase, - et éviter les conflits. - </simpara> - <simpara> - Plus d'informations sur FrontBase sont disponibles à - <ulink url="&url.fbsql;">&url.fbsql;</ulink>. - </simpara> - <simpara> - La documentation complète de FrontBase est disponible à - <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. - </simpara> - <simpara> - Le support de Frontbase a été ajouté en PHP 4.0.6. - </simpara> - </partintro> - <refentry id="function.fbsql-affected-rows"> - <refnamediv> - <refname>fbsql_affected_rows</refname> - <refpurpose> - Lit le nombre de ligne affectées par la dernière requête - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_affected_rows</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_affected_rows</function> retourne le nombre de - lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, - effectuée avec la connexion représentée par - <parameter>link_identifier</parameter>. Si ce dernier n'est pas - spécifié, c'est la dernière connexion ouverte par - <function>fbsql_connect</function> qui sera utilisée. - </para> - <note> - <para> - Si vous utilisez les transactions, vous devez appeler - <function>fbsql_affected_rows</function> après votre requête - INSERT, UPDATE ou DELETE, mais pas après la validation. - </para> - </note> - <para> - Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes - les lignes seront effacées, mais <function>fbsql_affected_rows</function> - retournera 0. - </para> - <note> - <para> - Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les - anciennes valeurs sont égales aux nouvelles. Cela fait que - <function>fbsql_affected_rows</function> ne retournera pas le nombre - de ligne traitées, mais le nombre de lignes affectées (modifiées) par - la requête. - </para> - </note> - <para> - Si la dernière requête échoue, <function>fbsql_affected_rows</function> - retourne -1. - </para> - <para> - Voir aussi - <function>fbsql_num_rows</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-autocommit"> - <refnamediv> - <refname>fbsql_autocommit</refname> - <refpurpose>Active ou désactive la validation automatique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_autocommit</function></funcdef> - <paramdef>resource - <parameter>link_identifier</parameter> - </paramdef> - <paramdef>boolean - <parameter> - <optional>OnOff</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_autocommit</function> retourne l'état courant - de la validation automatique, pour la connexion - <parameter>link_identifier</parameter>. Si le paramètre <parameter>OnOff</parameter> - est fourni, la validation automatique sera remplacée par sa valeur (un booléen). - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-change-user"> - <refnamediv> - <refname>fbsql_change_user</refname> - <refpurpose> - Change le nom d'utilisateur de la session active - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_change_user</function></funcdef> - <paramdef>string <parameter>user</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>string - <parameter> - <optional>database</optional> - </parameter> - </paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_change_user</function> change le nom de l'utilisateur - courant sur la session active courante, ou sur - <parameter>link_identifier</parameter>. Si une base de données - est spécifiée avec le paramètre <parameter>database</parameter>, elle - deviendra la base par défaut du nouvel utilisateur. - Le nouvel utilisateur doit être spécifié par son login - (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). - Si l'authentification échoue, la session courante restera ouverte. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-close"> - <refnamediv> - <refname>fbsql_close</refname> - <refpurpose>Ferme la connexion FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_close</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_close</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_close</function> ferme la connexion au serveur - FrontBase associé à la ressource <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, c'est la dernière - connexion ouverte qui sera fermée. - </para> - <para> - Utiliser <function>fbsql_close</function> n'est pas nécessaire, car les - liens non persistants seront automatiquement fermé à la fin du script. - </para> - <example> - <title>Exemple avec <function>fbsql_close</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret") - or die("Could not connect"); - print("Connecté!"); - fbsql_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_connect</function> et - <function>fbsql_pconnect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-connect"> - <refnamediv> - <refname>fbsql_connect</refname> - <refpurpose>Ouvre une connexion à un serveur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_connect</function></funcdef> - <paramdef>string - <parameter> - <optional>hostname</optional> - </parameter> - </paramdef> - <paramdef>string - <parameter> - <optional>username</optional> - </parameter> - </paramdef> - <paramdef>string - <parameter> - <optional>password</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_connect</function> retourne une ressource de connexion - positive en cas de succès, ou un message d'erreur en cas d'échec. - </para> - <para> - <function>fbsql_connect</function> établit une connexion avec - un serveur FrontBase. Les valeur suivantes sont utilisées, en cas - d'omission : - <parameter>hostname</parameter> = '&null;', - <parameter>username</parameter> = '_SYSTEM' et - <parameter>password</parameter> = "" (pas de mot de passe). - </para> - <para> - Si un deuxième appel est fait à <function>fbsql_connect</function> - avec les mêmes arguments, une nouvelle connexion ne sera pas générée, - mais la connexion déjà ouverte sera reutilisée, et retournée. - </para> - <para> - La connexion au serveur sera fermée dès la fin du scrpit, à moins qu'elle - ne soit explicitement terminée plus tôt, avec la fonction - <function>fbsql_close</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_connect</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret") - or die("Could not connect"); - print("Connected successfully"); - fbsql_close($link); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_pconnect</function> et - <function>fbsql_close</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-create-db"> - <refnamediv> - <refname>fbsql_create_db</refname> - <refpurpose>Crée une base de données</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_create_db</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_create_db</function> crée une nouvelle base - de données, nommée <parameter>database_name</parameter>, sur - le serveur repéré par la ressource <parameter>link_identifier</parameter>. - </para> - <example> - <title>Exemle avec <function>fbsql_create_db</function></title> - <programlisting role="php"> -<?php - $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") - or die ("Impossible de se connecter"); - if (fbsql_create_db("my_db")) { - print("Base de données créée!\n"); - } else { - printf("Erreur de création de la base de données : %s\n", fbsql_error()); - } -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_drop_db</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-data-seek"> - <refnamediv> - <refname>fbsql_data_seek</refname> - <refpurpose>Déplace le pointeur interne de résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_data_seek</function></funcdef> - <paramdef>int <parameter>result_identifier</parameter></paramdef> - <paramdef>int <parameter>row_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_data_seek</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_data_seek</function> déplace le pointeur interne - de ligne dans le résultat de requête <parameter>result_identifier</parameter> - jusqu'à la ligne <parameter>row_number</parameter>. Le prochain - appel à <function>fbsql_fetch_row</function> retournera cette ligne. - </para> - <para> - Les lignes sont numérotées à partir de 0. - </para> - <example> - <title>Exemple avec <function>fbsql_data_seek</function></title> - <programlisting role="php"> -<?php - $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") - or die ("Impossible de se connecter"); - fbsql_select_db("samp_db") - or die ("Impossible de sélectionner une base"); - $query = "SELECT last_name, first_name FROM friends;"; - $result = fbsql_query($query) - or die ("Query failed"); -// Lecture des lignes en ordre inverse - for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) { - if (!fbsql_data_seek($result, $i)) { - printf ("Impossible d'accéder à la ligne %d\n", $i); - continue; - } - if(!($row = fbsql_fetch_object($result))) - continue; - printf ("%s %s<BR>\n", $row->last_name, $row->first_name); - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-db-query"> - <refnamediv> - <refname>fbsql_db_query</refname> - <refpurpose>Envoie une requête à la base FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_db_query</function></funcdef> - <paramdef>string <parameter>database</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_db_query</function> retourne une ressource positive - représentant un résultat de requête en cas de succès, et - &false; en cas d'erreur. - </para> - <para> - <function>fbsql_db_query</function> sélectionne la base <parameter>database</parameter> - et y exécute la requête <parameter>query</parameter>. Si le paramètre - optionnel <parameter>link_identifier</parameter> est spécifié, - <function>fbsql_db_query</function> travaillera sur cette connexion. - S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser - la dernière connexion ouverte. Si aucune connexion n'a été ouverte, - <function>fbsql_db_query</function> essaiera de se connecter automatiquement - en appelant la fonction <function>fbsql_connect</function>, sans arguments. - </para> - <para> - Voir aussi - <function>fbsql_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-drop-db"> - <refnamediv> - <refname>fbsql_drop_db</refname> - <refpurpose>Supprime une base de données FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_drop_db</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_drop_db</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_drop_db</function> essaie de supprimer la base - de données <parameter>database_name</parameter>, sur la connexion - représentée par <parameter>link_identifier</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-errno"> - <refnamediv> - <refname>fbsql_errno</refname> - <refpurpose>Retourne le code d'erreur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_errno</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_errno</function> retourne le code d'erreur de la - dernière connexion FrontBase, ou bien - <literal>0</literal> (zéro) si aucune erreur n'est survenue. - </para> - <para> - Les erreurs générées par FrontBase ne sont pas automatiquement - affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> - pour connaître leur code d'erreur. Notez que cette fonction ne - retourne que le code d'erreur généré par la dernière fonction FrontBase - (hormis <function>fbsql_error</function> et - <function>fbsql_errno</function>) : si vous voulez repérer les - erreurs, faites le dès que les fonctions ont été appelées. - <informalexample> - <programlisting role="php"> -<?php - fbsql_connect("marliesle"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - fbsql_select_db("nonexistentdb"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - $conn = fbsql_query("SELECT * FROM nonexistenttable;"); - echo fbsql_errno().": ".fbsql_error()."<br>"; -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>fbsql_error</function> et - <function>fbsql_warnings</function> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-error"> - <refnamediv> - <refname>fbsql_error</refname> - <refpurpose>Retourne le message d'erreur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_error</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_error</function> retourne le dernier message d'erreur - généré par le serveur FrontBase, ou bien - <literal>''</literal> (chaîne vide) si aucune erreur n'est survenue. - </para> - <para> - Les erreurs générées par FrontBase ne sont pas automatiquement - affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> - pour connaître leur code d'erreur. Notez que cette fonction ne - retourne que le code d'erreur généré par la dernière fonction FrontBase - (hormis <function>fbsql_error</function> et - <function>fbsql_errno</function>) : si vous voulez repérer les - erreurs, faites le dès que les fonctions ont été appelées. - <informalexample> - <programlisting role="php"> -<?php - fbsql_connect("marliesle"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - fbsql_select_db("nonexistentdb"); - echo fbsql_errno().": ".fbsql_error()."<br>"; - $conn = fbsql_query("SELECT * FROM nonexistenttable;"); - echo fbsql_errno().": ".fbsql_error()."<br>"; -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>fbsql_errno</function> et - <function>fbsql_warnings</function> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-array"> - <refnamediv> - <refname>fbsql_fetch_array</refname> - <refpurpose> - Lit toute une ligne de résultat dans un tableau. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_array</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int - <parameter> - <optional>result_type</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_array</function> retourne un tableau contenant - la ligne courante du résultat <parameter>result</parameter>, ou - &false; s'il n'y a plus de lignes. - </para> - <para> - <function>fbsql_fetch_array</function> est une version améliorée - de <function>fbsql_fetch_row</function>. En plus de stocker les - données dans un tableau à indice numérique, elle les stocke - aussi sous forme de tableau associatif, dont les indices sont - les noms des colonnes. - </para> - <para> - SI deux colonnes (ou plus) on le même nom, la dernière colonne - sera utilisée. Pour accéder aux autres colonnes de même nom, vous - devez absolument utiliser les indices numériques. - <informalexample> - <programlisting> -select t1.f1 as foo t2.f1 as bar from t1, t2; - </programlisting> - </informalexample> - </para> - <para> - Il est important de noter que <function>fbsql_fetch_array</function> - n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, - tandis qu'elle apporte un confort d'utilisation notable. - </para> - <para> - Le second argument optionnel <parameter>result_type</parameter> - de <function>fbsql_fetch_array</function> est une constante qui peut prendre - l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, - <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. - </para> - <para> - Pour plus de détails, reportez-vous à - <function>fbsql_fetch_row</function> et <function>fbsql_fetch_assoc</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_fetch_array</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password); - $result = fbsql_db_query("database","select user_id, fullname from table"); - while ($row = fbsql_fetch_array($result)) { - echo "user_id: ".$row["user_id"]."<br>\n"; - echo "user_id: ".$row[0]."<br>\n"; - echo "fullname: ".$row["fullname"]."<br>\n"; - echo "fullname: ".$row[1]."<br>\n"; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-assoc"> - <refnamediv> - <refname>fbsql_fetch_assoc</refname> - <refpurpose> - Lit toute une ligne de résultat dans un tableau associatif - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_assoc</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_assoc</function> retourne un tableau associatif - contenant la ligne courante du résultat <parameter>result</parameter>, ou - &false; s'il n'y a plus de lignes. - </para> - <para> - <function>fbsql_fetch_assoc</function> est équivalent à - <function>fbsql_fetch_array</function> avec l'option - <literal>FBSQL_ASSOC</literal>. Elle ne retourne qu'un tableau - associatif. C'est le comportement initial de <function>fbsql_fetch_array</function>. - Si vous avez aussi besoin des indices numériques, utilisez - <function>fbsql_fetch_array</function>. - </para> - <para> - SI deux colonnes (ou plus) on le même nom, la dernière colonne - sera utilisée. Pour accéder aux autres colonnes de même nom, vous - devez absolument utiliser la fonction <function>fbsql_fetch_array</function>. - </para> - <para> - Il est important de noter que <function>fbsql_fetch_assoc</function> - n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, - tandis qu'elle apporte un confort d'utilisation notable. - </para> - <para> - Pour plus de détails, reportez-vous à - <function>fbsql_fetch_row</function> et <function>fbsql_fetch_array</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_fetch_assoc</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password); - $result = fbsql_db_query("database","select * from table;"); - while ($row = fbsql_fetch_assoc($result)) { - echo $row["user_id"]; - echo $row["fullname"]; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-field"> - <refnamediv> - <refname>fbsql_fetch_field</refname> - <refpurpose> - Lit des informations sur une colonne dans un résultat, et retourne un objet - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>fbsql_fetch_field</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int - <parameter> - <optional>field_offset</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_field</function> retourne une objet contenant - les informations sur un champs, dans le résultat <parameter>result</parameter>. - </para> - <para> - <function>fbsql_fetch_field</function> sert à lire des informations - sur les champs dans le résultat <parameter>result</parameter>. Si le - second paramètre <parameter>field_offset</parameter> n'est pas - spécifié, le champs suivant est lu. - </para> - <para> - Les propriétés de l'objet sont : - <itemizedlist> - <listitem> - <simpara> - name - Nom de colonne - </simpara> - </listitem> - <listitem> - <simpara> - table - Nom de la table d'origine - </simpara> - </listitem> - <listitem> - <simpara> - max_length - Taille maximale de la colonne - </simpara> - </listitem> - <listitem> - <simpara> - not_null - 1 si la colonne ne peut être nulle - </simpara> - </listitem> - <listitem> - <simpara> - type - Type de la colonne - </simpara> - </listitem> - </itemizedlist> - </para> - <example> - <title>Exemple avec <function>fbsql_fetch_field</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password) - or die ("Impossible de se connecter"); - $result = fbsql_db_query("database", "select * from table;") - or die ("Query failed"); -// lire les données de colonnes - $i = 0; - while ($i < fbsql_num_fields($result)) { - echo "Information de la colonne $i:<br>\n"; - $meta = fbsql_fetch_field($result); - if (!$meta) { - echo "Aucune information disponible<br>\n"; - } - echo "<PRE> -max_length: $meta->max_length -name: $meta->name -not_null: $meta->not_null -table: $meta->table -type: $meta->type -</PRE>"; - $i++; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - <para> - Voir aussi - <function>fbsql_field_seek</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-lengths"> - <refnamediv> - <refname>fbsql_fetch_lengths</refname> - <refpurpose> - Lit la taille de chaque colonne d'un résultat - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_lengths</function></funcdef> - <paramdef>resource - <parameter><optional>result</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_lengths</function> retourne un tableau contenant - les tailles maximales de chaque champs, dans la dernière ligne lue par - <function>fbsql_fetch_row</function> ou &false; en cas d'erreur. - </para> - <para> - <function>fbsql_fetch_lengths</function> stocke les tailles de - chaque ligne de résultat retourné par <function>fbsql_fetch_row</function>, - <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> - dans un tableau à indices numériques, commençant à 0. - </para> - <para> - Voir aussi - <function>fbsql_fetch_row</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-object"> - <refnamediv> - <refname>fbsql_fetch_object</refname> - <refpurpose>Lit une ligne de résultat sous forme d'objet</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>object <function>fbsql_fetch_object</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int - <parameter> - <optional>result_type</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_object</function> retourne un objet dont - les propriétés représentent les colonnes de la ligne à lire, dans - le résultat <parameter>result</parameter>, ou &false; - s'il n'y a pas de ligne à lire. - </para> - <para> - <function>fbsql_fetch_object</function> est similaire à - <function>fbsql_fetch_array</function>, à la différence qu'elle - retourne un objet. Nous ne pouvez alors accéder aux données qu'avec - les noms des colonnes, et sous la forme de membre d'objets, et non - plus avec leurs offset (les nombres ne peuvent représenter un membre - d'objet). - </para> - <para> - Le second argument optionnel <parameter>result_type</parameter> - de <function>fbsql_fetch_array</function> est une constante qui peut prendre - l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, - <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. - </para> - <para> - En terme de vitesse, cette fonction est identique à - <function>fbsql_fetch_array</function> et presque aussi rapide que - <function>fbsql_fetch_row</function> (la différence n'est pas - significative). - <example> - <title>Exemple avec <function>fbsql_fetch_object</function></title> - <programlisting role="php"> -<?php - fbsql_connect($host, $user, $password); - $result = fbsql_db_query("database", "select * from table;"); - while ($row = fbsql_fetch_object($result)) { - echo $row->user_id; - echo $row->fullname; - } - fbsql_free_result($result); -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fbsql_fetch_array</function> et - <function>fbsql_fetch_row</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-row"> - <refnamediv> - <refname>fbsql_fetch_row</refname> - <refpurpose>Lit une ligne de résultat sous forme de tableau numérique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fbsql_fetch_row</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_fetch_row</function> retourne un tableau représentant la ligne - courant dans le résultat <parameter>result</parameter>, ou bien - &false; s'il n'y a plus de lignes à lire. - </para> - <para> - <function>fbsql_fetch_row</function> lit une ligne de données dans le - résultat <parameter>result</parameter>, et crée un tableau - numérique. Chaque colonne est stockés dans un élément du tableau, dans le - même ordre que dans le résultat. Les indices commencent à 0. - </para> - <para> - Le prochain appel à <function>fbsql_fetch_row</function> va lire - la prochaine ligne, ou bien retourner &false; s'il n'y a plus - de lignes à lire. - </para> - <para> - Voir aussi - <function>fbsql_fetch_array</function>, - <function>fbsql_fetch_object</function>, - <function>fbsql_data_seek</function>, - <function>fbsql_fetch_lengths</function> et - <function>fbsql_result</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-flags"> - <refnamediv> - <refname>fbsql_field_flags</refname> - <refpurpose> - Lit les options associé à une colonne de résultat - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_flags</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_flags</function> retourne les options du - champs <parameter>field_offset</parameter>, dans le résultat - <parameter>field_offset</parameter>. Les options sont retournées - sous la forme d'un seul mot par option, séparées par des espaces, - de façons à faciliter la manipulation avec - <function>explode</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-name"> - <refnamediv> - <refname>fbsql_field_name</refname> - <refpurpose> - Lit le nom d'un champs - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_name</function></funcdef> - <paramdef>int <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_name</function> retourne le nom du champs - numéro <parameter>field_index</parameter> dans le résultat - <parameter>result</parameter>. <parameter>field_index</parameter> - est le résultat de <function>fbsql_query</function> et - <parameter>field_index</parameter> est l'offset numérique du - champs. - </para> - <note> - <para> - <parameter>field_index</parameter> commence à 0. - </para> - <para> - e.g. L'index du troisème champs est 2, et l'index du quatrième champs est - 3... - </para> - </note> - <para> - <example> - <title>Exemple avec <function>fbsql_field_name</function></title> - <programlisting role="php"> -<?php -// La tablea utilisateur est constituée de trois colonnes -// user_id -// username -// password. - $res = fbsql_db_query("users", "select * from users;", $link); - echo fbsql_field_name($res, 0) . "\n"; - echo fbsql_field_name($res, 2); -?> - </programlisting> - </example> - </para> - <para> - L'exemple ci-dessus va afficher : - <informalexample> - <programlisting> -user_id -password - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-len"> - <refnamediv> - <refname>fbsql_field_len</refname> - <refpurpose> - Retourne la taille d'un champs - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_field_len</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_len</function> retourne la taille - du champs <parameter>field_offset</parameter> dans le résultat - <parameter>result</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-seek"> - <refnamediv> - <refname>fbsql_field_seek</refname> - <refpurpose> - Déplace le pointeur de résultat - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_field_seek</function></funcdef> - <paramdef>int <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_seek</function> place le pointeur de colonne - à la colonne <parameter>field_offset</parameter>. Si ce paramètre - est omis, <function>fbsql_fetch_field</function> retourne le - numéro de colonne courant. - </para> - <para> - Voir aussi - <function>fbsql_fetch_field</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-table"> - <refnamediv> - <refname>fbsql_field_table</refname> - <refpurpose> - Lit le nom de la table d'origine d'un champs - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_table</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_table</function> retourn le nom de la - table d'où est issue le champs d'offset <parameter>field_offset</parameter>. - Les numéros de colonne commencent à 0. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-type"> - <refnamediv> - <refname>fbsql_field_type</refname> - <refpurpose> - Lit le type d'une colonne - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_field_type</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>field_offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_field_type</function> est similaire à la fonction - <function>fbsql_field_name</function>. Les arguments sont - identiques, mais le type du champs est retourné. Il peut - valoir "int", "real", "string", "blob" ou d'autres valeurs, - comme décrit dans <ulink url="&url.fbsql.docs;">la documentation - FrontBase</ulink>. - <example> - <title>Exemple avec <function>fbsql_field_type</function></title> - <programlisting role="php"> -<?php - fbsql_connect("localhost:3306"); - fbsql_connect("localhost", "_SYSTEM", ""); - $result = fbsql_query("SELECT * FROM onek;"); - $fields = fbsql_num_fields($result); - $rows = fbsql_num_rows($result); - $i = 0; - $table = fbsql_field_table($result, $i); - echo "Votre table '".$table."' a ".$fields." colonnes et ".$rows." lignes <br>"; - echo "La table dispose des champs suivants <br>"; - while ($i < $fields) { - $type = fbsql_field_type ($result, $i); - $name = fbsql_field_name ($result, $i); - $len = fbsql_field_len ($result, $i); - $flags = fbsql_field_flags($result, $i); - echo $type." ".$name." ".$len." ".$flags."<br>"; - $i++; - } - fbsql_close(); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-free-result"> - <refnamediv> - <refname>fbsql_free_result</refname> - <refpurpose>Libère le résultat de la mémoire</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>fbsql_free_result</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_free_result</function> va libérer toute la mémoire - utilisée par le résultat associé à la ressource <parameter>result</parameter>. - </para> - <para> - <function>fbsql_free_result</function> n'a besoin d'être appelé que si vous - craignez que votre script ne va consommer trop de mémoire, lorsqu'une - requête retourne de très grand résultats. Toutes les ressources - mémoire utilisées par le script sont de toutes manières libérées à - la fin du script. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-insert-id"> - <refnamediv> - <refname>fbsql_insert_id</refname> - <refpurpose> - Lit le dernier identifiant généré par une requête INSERT - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_insert_id</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_insert_id</function> retourne l'identifiant généré - par la colonne de type DEFAULT UNIQUE, lors de la dernière requête - INSERT, avec la connexion <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la dernière connexion - ouverte est utilisée. - </para> - <para> - <function>fbsql_insert_id</function> retournera 0 si la dernière - requête n'a pas généré de valeur dans la colonne DEFAULT UNIQUE - Si vous devez sauver cette valeur pour plus tard, n'oubliez pas - d'appeler <function>fbsql_insert_id</function> tout de suite - après la requête qui a généré cette valeur. - </para> - <note> - <para> - La valeur de la fonction FrontBase SQL - "<literal>LAST_INSERT_ID()</literal>" retourne toujours la dernière - valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les - requêtes. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-dbs"> - <refnamediv> - <refname>fbsql_list_dbs</refname> - <refpurpose> - Liste les bases de données - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_list_dbs</function></funcdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_list_dbs</function> retourne un résultat contenant la - liste des bases de données disponibles sur le serveur - <optional>link_identifier</optional>. Utilisez la fonction - <function>fbsql_tablename</function> pour passer en revue ce - résultat. - </para> - <para> - <example> - <title>Exemple avec <function>fbsql_list_dbs</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect('localhost', 'myname', 'secret'); - $db_list = fbsql_list_dbs($link); - while ($row = fbsql_fetch_object($db_list)) { - echo $row->Database . "\n"; - } -?> - </programlisting> - </example> - </para> - <para> - L'exemple ci-dessus va afficher ceci : - <informalexample> - <programlisting> -database1 -database2 -database3 -.. - </programlisting> - </informalexample> - </para> - <note> - <para> - L'exemple ci-dessus peut aussi bien fonctionner avec la fonction - <function>fbsql_fetch_row</function> ou toute autre similaire. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-fields"> - <refnamediv> - <refname>fbsql_list_fields</refname> - <refpurpose>Liste les champs d'un résultat FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_list_fields</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>string <parameter>table_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_list_fields</function> lit les informations à propos - de la table <parameter>table_name</parameter>, dans la base de données - <parameter>table_name</parameter>, sur la connexion - <parameter>link_identifier</parameter>. Un résultat de requête est - retourné, et pourra être utilisé avec les fonctions - <function>fbsql_field_flags</function>, - <function>fbsql_field_len</function>, - <function>fbsql_field_name</function> et - <function>fbsql_field_type</function>. - </para> - <para> - Un identifiant de résultat est une ressource PHP, représentée par - un entier positif. <function>fbsql_list_fields</function> retourne - -1 en cas d'erreur. Une chaîne décrivant l'erreur sera alors placée dans - la variable <literal>$phperrmsg</literal>. Un message d'erreur sera - aussi affiché, à moins que la fonction n'ai été appelée avec l'opérateur - de suppression des erreurs @. - </para> - <para> - <example> - <title>Exemple avec <function>fbsql_list_fields</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect('localhost', 'myname', 'secret'); - $fields = fbsql_list_fields("database1", "table1", $link); - $columns = fbsql_num_fields($fields); - for ($i = 0; $i < $columns; $i++) { - echo fbsql_field_name($fields, $i) . "\n";; - } -?> - </programlisting> - </example> - </para> - <para> - L'exemple ci-dessus va afficher : - <informalexample> - <programlisting> -field1 -field2 -field3 -.. - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-tables"> - <refnamediv> - <refname>fbsql_list_tables</refname> - <refpurpose>Liste les tables dans une base de données FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_list_tables</function></funcdef> - <paramdef>string <parameter>database</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_list_tables</function> liste les tables dans la base - de données <parameter>database</parameter>, et retourne un résultat, - tout comme <function>fbsql_db_query</function>. - <function>fbsql_tablename</function> sert à extraire la liste des tables - dans ce résultat. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-next-result"> - <refnamediv> - <refname>fbsql_next_result</refname> - <refpurpose>Déplace le pointeur interne vers le résultat suivant</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>fbsql_next_result</function></funcdef> - <paramdef>resource <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous - exécutez une procédure stockée avec de multiple résultats, cela va - conduire le serveur à retourner plusieurs jeu de lignes. - <function>fbsql_next_result</function> va vérifier l'existence de - plusieurs résultats disponibles sur le serveur. Si un autre - jeu de résultat existe, <function>fbsql_next_result</function> va - détruire de résultat précédent, et préparer la lecture dans les - nouvelles lignes. - </para> - <para> - <function>fbsql_next_result</function> retourne &true; si - un autre résultat est disponbile, ou &false; sinon. - </para> - <example> - <title>Exemple avec <function>fbsql_next_result</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret"); - fbsql_select_db("MyDB", $link); - $SQL = "Select * from table1; select * from table2;"; - $rs = fbsql_query($SQL, $link); - do { - while ($row = fbsql_fetch_row($rs)) {} - } while (fbsql_next_result($rs)); - fbsql_free_result($rs); - fbsql_close($link); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-num-fields"> - <refnamediv> - <refname>fbsql_num_fields</refname> - <refpurpose>Lit le nombre de champs dans un résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_num_fields</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_num_fields</function> retourne le nombre de champs - dans le résultat <parameter>result</parameter>. - </para> - <para> - Voir aussi - <function>fbsql_db_query</function>, - <function>fbsql_query</function>, - <function>fbsql_fetch_field</function> et - <function>fbsql_num_rows</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-num-rows"> - <refnamediv> - <refname>fbsql_num_rows</refname> - <refpurpose>Lit le nombre de lignes dans un résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fbsql_num_rows</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_num_rows</function> retourne le nombre de lignes - dans le résultat <parameter>result</parameter>. Cette fonction - n'est valable qu'avec les commandes SELECT. Pour connaître le nombre - de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez - <function>fbsql_affected_rows</function>. - <example> - <title>Exemple <function>fbsql_num_rows</function></title> - <programlisting role="php"> -<?php - $link = fbsql_connect("localhost", "username", "password"); - fbsql_select_db("database", $link); - $result = fbsql_query("SELECT * FROM table1;", $link); - $num_rows = fbsql_num_rows($result); - echo "$num_rows Rows\n"; -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fbsql_affected_rows</function>, - <function>fbsql_connect</function>, - <function>fbsql_select_db</function> et - <function>fbsql_query</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-pconnect"> - <refnamediv> - <refname>fbsql_pconnect</refname> - <refpurpose> - Ouvre une connexion persistante à un serveur FrontBase - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_pconnect</function></funcdef> - <paramdef>string - <parameter> - <optional>hostname</optional> - </parameter> - </paramdef> - <paramdef>string - <parameter><optional>username</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>password</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_pconnect</function> retourne une ressource représentant - la connection au serveur FrontBase en cas de succès, ou bien - &false; en cas d'erreur. - </para> - <para> - <function>fbsql_pconnect</function> établit une connexion - persistante à un serveur FrontBase. En cas d'omission, les valeurs - suivantes sont utilisées par défaut : - <parameter>host</parameter> ='localhost', - <parameter>username</parameter> = nom de l'utilisateur qui possède - le processus, et <parameter>password</parameter> = pas de mot de passe. - </para> - <para> - Pour choisir le port d'accès au serveur FrontBase, voyez - <function>fbsql_select_db</function>. - </para> - <para> - <function>fbsql_pconnect</function> se comporte comme - <function>fbsql_connect</function> avec deux différences majeures. - </para> - <para> - Premièrement, lors de la connexion, <function>fbsql_pconnect</function> - essaie de trouver une connexion permanante déjà ouverte sur - cet hote, avec le même nom d'utilisateur et de mot de passe. Si une - telle connexion est trouvée, son identifiant est retourné, - sans ouvrir de nouvelle connexion. - </para> - <para> - Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin - du script. Au lieu de cela, le lien sera conservé pour un prochain accès - (<function>fbsql_close</function> ne terminera pas une connexion persistante - établie par <function>fbsql_pconnect</function>). - </para> - <para> - C'est pourquoi ce type de connexion est dite 'persistante'. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-query"> - <refnamediv> - <refname>fbsql_query</refname> - <refpurpose>Exécute une requête sur un serveur FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_query</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>resource - <parameter><optional>link_identifier</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_query</function> envoie la requête - <parameter>query</parameter> à la base de données courante, - sur le serveur représenté par sa connexion <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la dernière - connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, - <function>fbsql_query</function> essaie d'établir une connexion en - appelant la fonction <function>fbsql_connect</function> sans - aucun argument. - </para> - <note> - <para> - La requête doit être terminée par un point-virgule! - </para> - </note> - <para> - <function>fbsql_query</function> retourne une ressource - en cas de succès, ou &false;, en cas - d'échec. - </para> - <para> - La requête suivante est invalide, et <function>fbsql_query</function> - échouera puis retournera &false;: - <example> - <title>Exemple avec <function>fbsql_query</function>(1)</title> - <programlisting role="php"> -<?php - $result = fbsql_query("SELECT * WHERE 1=1;") - or die("Requête invalide"); -?> - </programlisting> - </example> - </para> - <para> - La requête suivante est invalide si <literal>my_col</literal> n'est pas - une colonne dans la table <literal>my_tbl</literal> : <function>fbsql_query</function> - échouera puis retournera &false; : - <example> - <title>Exemple avec <function>fbsql_query</function>(2)</title> - <programlisting role="php"> -<?php - $result = fbsql_query("SELECT my_col FROM my_tbl") - or die ("Invalid query"); -?> - </programlisting> - </example> - </para> - <para> - <function>fbsql_query</function> échouera si vous n'avez pas - les droits d'accès sur l'une des bases de données utilisée dans - la requête. - </para> - <para> - Lorsque la requête réussit, vous pouvez utilisez - <function>fbsql_num_rows</function> pour savoir combien de - lignes ont été retournée par une requête SELECT, ou bien - <function>fbsql_affected_rows</function> pour les autres - requêtes (DELETE, INSERT, REPLACE et UPDATE). - </para> - <para> - Pour les requêtes SELECT, <function>fbsql_query</function> retourne - une ressource de résultat, que vous pouvez passer à <function>fbsql_result</function>. - Lors vous avez fini de lire le résultat, vous pouvez libérer les - ressources utilisées en appelant - <function>fbsql_free_result</function>. Cependant, la mémoire sera automatiquement - libérée à la fin du script. - </para> - <para> - Voir aussi - <function>fbsql_affected_rows</function>, - <function>fbsql_db_query</function>, - <function>fbsql_free_result</function>, - <function>fbsql_result</function>, - <function>fbsql_select_db</function> et - <function>fbsql_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-result"> - <refnamediv> - <refname>fbsql_result</refname> - <refpurpose>Lit des données dans un résultat</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>fbsql_result</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>row</parameter></paramdef> - <paramdef>mixed - <parameter> - <optional>field</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_result</function> lit le contenu du champs - <parameter>field</parameter>, dans la ligne <parameter>row</parameter>, - du résultat <parameter>result</parameter>. L'argument - <parameter>field</parameter> peut être l'offset du champs, ou bien - son nom, ou bien le nom de sa table plus point plus son nom. Si la - colonne a été aliasée, utilisez de préférence l'alias. - </para> - <para> - Lorsque vous travaillez sur de grands résultats, il est vivement - recommandé d'utiliser les fonctions qui lisent toute une ligne - d'un coup, plutôt que <function>fbsql_result</function> qui - travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi - que les offset numériques sont plus rapides que les offset - nominaux. - </para> - <para> - L'utilisation de <function>fbsql_result</function> ne doivent pas - être mélangé avec d'autres fonctions qui utilisent aussi le résultat - <parameter>result</parameter>. - </para> - <para> - Alternative vivement recommandées : - <function>fbsql_fetch_row</function>, - <function>fbsql_fetch_array</function> et - <function>fbsql_fetch_object</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-select-db"> - <refnamediv> - <refname>fbsql_select_db</refname> - <refpurpose>Sélectionne une base de données FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>fbsql_select_db</function></funcdef> - <paramdef>string <parameter>database_name</parameter></paramdef> - <paramdef>resource - <parameter> - <optional>link_identifier</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_select_db</function> retourne &true; en - cas de succès et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_select_db</function> remplace la base de données - active courante par <parameter>database_name</parameter>, sur la - connexion ouverte et représentée par <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la dernière - connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, - <function>fbsql_select_db</function> essaiera de se connecter - en appelant <function>fbsql_connect</function> sans argument. - </para> - <para> - Le client contacte FBExec pour connaître le numéro de port à utiliser - pour la connexion à la base de données. Si le nom de la base est un - numéro, le système l'utilisera comme numéro de port, et ne - le demandera pas à FBExec. Le serveur Frontbase peut être - démarré avec la commande : - <literal>FRontBase -FBExec=No -port=<port number> <database name></literal>. - </para> - <para> - Tous les prochains appel à <function>fbsql_query</function> se feront - dans la base <parameter>database_name</parameter>. - </para> - <para> - Voir aussi - <function>fbsql_connect</function>, - <function>fbsql_pconnect</function> et - <function>fbsql_query</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-tablename"> - <refnamediv> - <refname>fbsql_tablename</refname> - <refpurpose>Lit le nom de la table d'un champs</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fbsql_tablename</function></funcdef> - <paramdef>resource <parameter>result</parameter></paramdef> - <paramdef>int <parameter>i</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_tablename</function> retourne le nom de la - table d'origine du champs <parameter>i</parameter>, dans le résultat - <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> - peut être utilisée pour connaître le nombre de tables dans un - résultat. - <example> - <title>Exemple avec <function>fbsql_tablename</function></title> - <programlisting role="php"> -<?php - fbsql_connect("localhost:3306"); - $result = fbsql_list_tables("wisconsin"); - $i = 0; - while ($i < fbsql_num_rows($result)) { - $tb_names[$i] = fbsql_tablename($result, $i); - echo $tb_names[$i] . "<br>"; - $i++; - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-warnings"> - <refnamediv> - <refname>fbsql_warnings</refname> - <refpurpose>Active ou désactive les alertes FrontBase</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>fbsql_warnings</function></funcdef> - <paramdef>boolean - <parameter> - <optional>OnOff</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fbsql_warnings</function> retourne &true; si - les alertes sont actives et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_warnings</function> active ou désactive les alertes - FrontBase suivant que <parameter>OnOff</parameter> est à &true; - ou &false;. - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.7 $ --><reference id="ref.fbsql"> <title>FrontBase</title> <titleabbrev>FrontBase</titleabbrev> <partintro> &warn.experimental; <simpara> Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Pour pouvoir les utiliser, vous devez compiler PHP avec le support fbsql en utilisant l'option <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql</option></link>. Si vous utilisez cette option sans spécifier le chemin jusqu'à l'installation fbsql, PHP recherchera les librairies du client fbsql dans les dossiers habituels, sur votre système. Les utilisateurs qui ont installé FrontBase dans un dossier non standard doivent spécifier le chemin comme ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. Cela va indiquer à PHP le bon emplacement des librairies de FrontBase, et éviter les conflits. </simpara> <simpara> Plus d'informations sur FrontBase sont disponibles à <ulink url="&url.fbsql;">&url.fbsql;</ulink>. </simpara> <simpara> La documentation complète de FrontBase est disponible à <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. </simpara> <simpara> Le support de Frontbase a été ajouté en PHP 4.0.6. </simpara> </partintro> <refentry id="function.fbsql-affected-rows"> <refnamediv> <refname>fbsql_affected_rows</refname> <refpurpose> Lit le nombre de ligne affectées par la dernière requête </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_affected_rows</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_affected_rows</function> retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, effectuée avec la connexion représentée par <parameter>link_identifier</parameter>. Si ce dernier n'est pas spécifié, c'est la dernière connexion ouverte par <function>fbsql_connect</function> qui sera utilisée. </para> <note> <para> Si vous utilisez les transactions, vous devez appeler <function>fbsql_affected_rows</function> après votre requête INSERT, UPDATE ou DELETE, mais pas après la validation. </para> </note> <para> Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes les lignes seront effacées, mais <function>fbsql_affected_rows</function> retournera 0. </para> <note> <para> Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les anciennes valeurs sont égales aux nouvelles. Cela fait que <function>fbsql_affected_rows</function> ne retournera pas le nombre de ligne traitées, mais le nombre de lignes affectées (modifiées) par la requête. </para> </note> <para> Si la dernière requête échoue, <function>fbsql_affected_rows</function> retourne -1. </para> <para> Voir aussi <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-autocommit"> <refnamediv> <refname>fbsql_autocommit</refname> <refpurpose>Active ou désactive la validation automatique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_autocommit</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter> </paramdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_autocommit</function> retourne l'état courant de la validation automatique, pour la connexion <parameter>link_identifier</parameter>. Si le paramètre <parameter>OnOff</parameter> est fourni, et vaut &true;, FBSQL va se mettre en mode d'auto-validation, et les requêtes seront validées automatiquement si aucune erreur n'est trouveé. Si le paramètre <parameter>OnOff</parameter> est fourni, et vaut &false;, FBSQL va se mettre en mode de validation manuelle, et les requêtes seront validées par l'appel de la fonction <function>fbsql_commit</function> ou annulées par <function>fbsql_rollback</function>. </para> <para> Voir aussi <function>fbsql_commit</function> et <function>fbsql_rollback</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-change-user"> <refnamediv> <refname>fbsql_change_user</refname> <refpurpose> Change le nom d'utilisateur de la session active </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_change_user</function></funcdef> <paramdef>string <parameter>user</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>string <parameter> <optional>database</optional> </parameter> </paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_change_user</function> change le nom de l'utilisateur courant sur la session active courante, ou sur <parameter>link_identifier</parameter>. Si une base de données est spécifiée avec le paramètre <parameter>database</parameter>, elle deviendra la base par défaut du nouvel utilisateur. Le nouvel utilisateur doit être spécifié par son login (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). Si l'authentification échoue, la session courante restera ouverte. </para> </refsect1> </refentry> <refentry id="function.fbsql-close"> <refnamediv> <refname>fbsql_close</refname> <refpurpose>Ferme la connexion FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_close</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_close</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_close</function> ferme la connexion au serveur FrontBase associé à la ressource <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, c'est la dernière connexion ouverte qui sera fermée. </para> <para> Utiliser <function>fbsql_close</function> n'est pas nécessaire, car les liens non persistants seront automatiquement fermé à la fin du script. </para> <example> <title>Exemple avec <function>fbsql_close</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connecté!"); fbsql_close($link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_connect</function> et <function>fbsql_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-commit"> <refnamediv> <refname>fbsql_commit</refname> <refpurpose>Valide une transaction</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_commit</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_commit</function> retourne &true; en cas de succès, et &false; sinon. </para> <para> <function>fbsql_commit</function> termine la transaction courante en sauvant toutes les insertions, modifications et effacements sur le serveur, puis en relachant tous les verrous qui ont étés posés sur les tables. Cette commande n'est nécessaire que si FBSQL est en mode de validation manuelle. </para> <para> Voir aussi <function>fbsql_autocommit</function> et <function>fbsql_rollback</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-connect"> <refnamediv> <refname>fbsql_connect</refname> <refpurpose>Ouvre une connexion à un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_connect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>username</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>password</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_connect</function> retourne une ressource de connexion positive en cas de succès, ou un message d'erreur en cas d'échec. </para> <para> <function>fbsql_connect</function> établit une connexion avec un serveur FrontBase. Les valeur suivantes sont utilisées, en cas d'omission : <parameter>hostname</parameter> = '&null;', <parameter>username</parameter> = '_SYSTEM' et <parameter>password</parameter> = "" (pas de mot de passe). </para> <para> Si un deuxième appel est fait à <function>fbsql_connect</function> avec les mêmes arguments, une nouvelle connexion ne sera pas générée, mais la connexion déjà ouverte sera reutilisée, et retournée. </para> <para> La connexion au serveur sera fermée dès la fin du scrpit, à moins qu'elle ne soit explicitement terminée plus tôt, avec la fonction <function>fbsql_close</function>. </para> <example> <title>Exemple avec <function>fbsql_connect</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connected successfully"); fbsql_close($link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_pconnect</function> et <function>fbsql_close</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-db"> <refnamediv> <refname>fbsql_create_db</refname> <refpurpose>Crée une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_create_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_db</function> crée une nouvelle base de données, nommée <parameter>database_name</parameter>, sur le serveur repéré par la ressource <parameter>link_identifier</parameter>. </para> <example> <title>Exemle avec <function>fbsql_create_db</function></title> <programlisting role="php"><?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); if (fbsql_create_db("my_db")) { print("Base de données créée!\n"); } else { printf("Erreur de création de la base de données : %s\n", fbsql_error()); }?> </programlisting> </example> <para> Voir aussi <function>fbsql_drop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-blob"> <refnamediv> <refname>fbsql_create_blob</refname> <refpurpose>Crée un BLOB</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_create_blob</function></funcdef> <paramdef>string <parameter>blob_data</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_blob</function> retourne une ressource qui représente le nouveau BLOB. </para> <para> <function>fbsql_create_blob</function> crée un blob à partir des données fournies par <parameter>blob_data</parameter>. La ressource retournée est nécessaire aux commandes de modification et d'insertion, pour sauver le BLOB dans la base de données. </para> <example> <title>Exemple avec <function>fbsql_create_blob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $filename = "blobfile.bin"; $fp = fopen($filename, "rb"); $blobdata = fread($fp, filesize($filename)); fclose($fp); $blobHandle = fbsql_create_blob($blobdata, $link); $sql = "INSERT INTO BLOB_TABLE (BLOB_COLUMN) VALUES ($blobHandle);"; $rs = fbsql_query($sql, $link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_clob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-clob"> <refnamediv> <refname>fbsql_create_clob</refname> <refpurpose>Crée un CLOB</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_create_clob</function></funcdef> <paramdef>string <parameter>clob_data</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_clob</function> retourne une ressource qui représente le nouveau CLOB. </para> <para> <function>fbsql_create_clob</function> crée un clob à partir des données fournies par <parameter>clob_data</parameter>. La ressource retournée est nécessaire aux commandes de modification et d'insertion, pour sauver le BLOB dans la base de données. creates a clob from </para> <example> <title>Exemple avec <function>fbsql_create_clob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $filename = "clob_file.txt"; $fp = fopen($filename, "rb"); $clobdata = fread($fp, filesize($filename)); fclose($fp); $clobHandle = fbsql_create_clob($clobdata, $link); $sql = "INSERT INTO CLOB_TABLE (CLOB_COLUMN) VALUES ($clobHandle);"; $rs = fbsql_query($sql, $link);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-database-password"> <refnamediv> <refname>fbsql_database_password</refname> <refpurpose> Modifie/lit le mot de passe dans une base FBSQL </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_database_password</function> </funcdef> <paramdef>resource <parameter>link_identifier</parameter></paramdef> <paramdef>string <parameter><optional>database_password</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_database_password</function> retourne le mot de passe du serveur représenté par <parameter>link_identifier</parameter>. </para> <para> <function>fbsql_database_password</function> modifie et lit le mot de passe de la base de données courante. Si le second paramètre <parameter>database_password</parameter> est fourni, <function>fbsql_database_password</function> remplacera le mot de passe courant par celui-ci. Si aucun serveur n'est précisé car le paramètre <parameter>link_identifier</parameter> n'est pas fourni, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouvertem PHP essaiera d'en ouvrir une en appelant la fonction <function>fbsql_connect</function>, et en utilisant la connexion qui en résultera (si elle réussit). </para> <para> Voir aussi <function>fbsql_connect</function> et <function>fbsql_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-data-seek"> <refnamediv> <refname>fbsql_data_seek</refname> <refpurpose>Déplace le pointeur interne de résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_data_seek</function></funcdef> <paramdef>int <parameter>result_identifier</parameter></paramdef> <paramdef>int <parameter>row_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_data_seek</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_data_seek</function> déplace le pointeur interne de ligne dans le résultat de requête <parameter>result_identifier</parameter> jusqu'à la ligne <parameter>row_number</parameter>. Le prochain appel à <function>fbsql_fetch_row</function> retournera cette ligne. </para> <para> Les lignes sont numérotées à partir de 0. </para> <example> <title>Exemple avec <function>fbsql_data_seek</function></title> <programlisting role="php"><?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); fbsql_select_db("samp_db") or die ("Impossible de sélectionner une base"); $query = "SELECT last_name, first_name FROM friends;"; $result = fbsql_query($query) or die ("Query failed");// Lecture des lignes en ordre inverse for ($i = fbsql_num_rows($result) - 1; $i >=0; $i--) { if (!fbsql_data_seek($result, $i)) { printf ("Impossible d'accéder à la ligne %d\n", $i); continue; } if(!($row = fbsql_fetch_object($result))) continue; printf ("%s %s<BR>\n", $row->last_name, $row->first_name); } fbsql_free_result($result);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-db-query"> <refnamediv> <refname>fbsql_db_query</refname> <refpurpose>Envoie une requête à la base FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_db_query</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_db_query</function> retourne une ressource positive représentant un résultat de requête en cas de succès, et &false; en cas d'erreur. </para> <para> <function>fbsql_db_query</function> sélectionne la base <parameter>database</parameter> et y exécute la requête <parameter>query</parameter>. Si le paramètre optionnel <parameter>link_identifier</parameter> est spécifié, <function>fbsql_db_query</function> travaillera sur cette connexion. S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser la dernière connexion ouverte. Si aucune connexion n'a été ouverte, <function>fbsql_db_query</function> essaiera de se connecter automatiquement en appelant la fonction <function>fbsql_connect</function>, sans arguments. </para> <para> Voir aussi <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-db-status"> <refnamediv> <refname>fbsql_db_status</refname> <refpurpose>Lit le statut courant d'une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_db_status</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_db_status</function> retourne un entier représentant le statut courant. </para> <para> <function>fbsql_db_status</function> demande le statut de la base de données nommée <parameter>database_name</parameter>. Si le paramètre <parameter>link_identifier</parameter> est omis, la connexion par défaut sera utilisée. </para> <para> La valeur de l'entier peut être l'une des suivantes : <itemizedlist> <listitem> <simpara> &false; - Le gestion de cet hôte était invalide. Cette erreur survient lorsque PHP se connecter directement à une base de données en utilisant un numéro de port. FBExec peut être disponible sur un serveur, mais aucune connexion n'a été faite. </simpara> </listitem> <listitem> <simpara> FBSQL_UNKNOWN - Le statut est inconnu. </simpara> </listitem> <listitem> <simpara> FBSQL_STOPPED - La base de données ne fonctionne pas. Utilisez <function>fbsql_start_db</function> pour démarrer la base. </simpara> </listitem> <listitem> <simpara> FBSQL_STARTING - La base de données démarre. </simpara> </listitem> <listitem> <simpara> FBSQL_RUNNING - La base de données fonctionne, et est disponible pour recevoir des requêtes SQL. </simpara> </listitem> <listitem> <simpara> FBSQL_STOPPING - La base de données s'arrête. </simpara> </listitem> <listitem> <simpara> FBSQL_NOEXEC - FBExec ne fonctionne par sur le serveur, et il n'est pas possible d'obtenir le statut de la base de données. </simpara> </listitem> </itemizedlist> </para> <para> Voir aussi <function>fbsql_start_db</function> et <function>fbsql_stop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-drop-db"> <refnamediv> <refname>fbsql_drop_db</refname> <refpurpose>Supprime une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_drop_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_drop_db</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_drop_db</function> essaie de supprimer la base de données <parameter>database_name</parameter>, sur la connexion représentée par <parameter>link_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-errno"> <refnamediv> <refname>fbsql_errno</refname> <refpurpose>Retourne le code d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_errno</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_errno</function> retourne le code d'erreur de la dernière connexion FrontBase, ou bien <literal>0</literal> (zéro) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"><?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>";?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_error</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-error"> <refnamediv> <refname>fbsql_error</refname> <refpurpose>Retourne le message d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_error</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_error</function> retourne le dernier message d'erreur généré par le serveur FrontBase, ou bien <literal>''</literal> (chaîne vide) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"><?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>";?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_errno</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-array"> <refnamediv> <refname>fbsql_fetch_array</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_array</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_array</function> retourne un tableau contenant la ligne courante du résultat <parameter>result</parameter>, ou &false; s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_array</function> est une version améliorée de <function>fbsql_fetch_row</function>. En plus de stocker les données dans un tableau à indice numérique, elle les stocke aussi sous forme de tableau associatif, dont les indices sont les noms des colonnes. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser les indices numériques. <informalexample> <programlisting>select t1.f1 as foo t2.f1 as bar from t1, t2; </programlisting> </informalexample> </para> <para> Il est important de noter que <function>fbsql_fetch_array</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_assoc</function>. </para> <example> <title>Exemple avec <function>fbsql_fetch_array</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password); $result = fbsql_db_query("database","select user_id, fullname from table"); while ($row = fbsql_fetch_array($result)) { echo "user_id: ".$row["user_id"]."<br>\n"; echo "user_id: ".$row[0]."<br>\n"; echo "fullname: ".$row["fullname"]."<br>\n"; echo "fullname: ".$row[1]."<br>\n"; } fbsql_free_result($result);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-assoc"> <refnamediv> <refname>fbsql_fetch_assoc</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau associatif </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_assoc</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_assoc</function> retourne un tableau associatif contenant la ligne courante du résultat <parameter>result</parameter>, ou &false; s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_assoc</function> est équivalent à <function>fbsql_fetch_array</function> avec l'option <literal>FBSQL_ASSOC</literal>. Elle ne retourne qu'un tableau associatif. C'est le comportement initial de <function>fbsql_fetch_array</function>. Si vous avez aussi besoin des indices numériques, utilisez <function>fbsql_fetch_array</function>. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser la fonction <function>fbsql_fetch_array</function>. </para> <para> Il est important de noter que <function>fbsql_fetch_assoc</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_array</function>. </para> <example> <title>Exemple avec <function>fbsql_fetch_assoc</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password); $result = fbsql_db_query("database","select * from table;"); while ($row = fbsql_fetch_assoc($result)) { echo $row["user_id"]; echo $row["fullname"]; } fbsql_free_result($result);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-field"> <refnamediv> <refname>fbsql_fetch_field</refname> <refpurpose> Lit des informations sur une colonne dans un résultat, et retourne un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_field</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>field_offset</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_field</function> retourne une objet contenant les informations sur un champs, dans le résultat <parameter>result</parameter>. </para> <para> <function>fbsql_fetch_field</function> sert à lire des informations sur les champs dans le résultat <parameter>result</parameter>. Si le second paramètre <parameter>field_offset</parameter> n'est pas spécifié, le champs suivant est lu. </para> <para> Les propriétés de l'objet sont : <itemizedlist> <listitem> <simpara> name - Nom de colonne </simpara> </listitem> <listitem> <simpara> table - Nom de la table d'origine </simpara> </listitem> <listitem> <simpara> max_length - Taille maximale de la colonne </simpara> </listitem> <listitem> <simpara> not_null - 1 si la colonne ne peut être nulle </simpara> </listitem> <listitem> <simpara> type - Type de la colonne </simpara> </listitem> </itemizedlist> </para> <example> <title>Exemple avec <function>fbsql_fetch_field</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password) or die ("Impossible de se connecter"); $result = fbsql_db_query("database", "select * from table;") or die ("Query failed");// lire les données de colonnes $i = 0; while ($i < fbsql_num_fields($result)) { echo "Information de la colonne $i:<br>\n"; $meta = fbsql_fetch_field($result); if (!$meta) { echo "Aucune information disponible<br>\n"; } echo "<PRE>max_length: $meta->max_lengthname: $meta->namenot_null: $meta->not_nulltable: $meta->tabletype: $meta->type</PRE>"; $i++; } fbsql_free_result($result);?> </programlisting> </example> <para> Voir aussi <function>fbsql_field_seek</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-lengths"> <refnamediv> <refname>fbsql_fetch_lengths</refname> <refpurpose> Lit la taille de chaque colonne d'un résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_lengths</function></funcdef> <paramdef>resource <parameter><optional>result</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_lengths</function> retourne un tableau contenant les tailles maximales de chaque champs, dans la dernière ligne lue par <function>fbsql_fetch_row</function> ou &false; en cas d'erreur. </para> <para> <function>fbsql_fetch_lengths</function> stocke les tailles de chaque ligne de résultat retourné par <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> dans un tableau à indices numériques, commençant à 0. </para> <para> Voir aussi <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-object"> <refnamediv> <refname>fbsql_fetch_object</refname> <refpurpose>Lit une ligne de résultat sous forme d'objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_object</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_object</function> retourne un objet dont les propriétés représentent les colonnes de la ligne à lire, dans le résultat <parameter>result</parameter>, ou &false; s'il n'y a pas de ligne à lire. </para> <para> <function>fbsql_fetch_object</function> est similaire à <function>fbsql_fetch_array</function>, à la différence qu'elle retourne un objet. Nous ne pouvez alors accéder aux données qu'avec les noms des colonnes, et sous la forme de membre d'objets, et non plus avec leurs offset (les nombres ne peuvent représenter un membre d'objet). </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> En terme de vitesse, cette fonction est identique à <function>fbsql_fetch_array</function> et presque aussi rapide que <function>fbsql_fetch_row</function> (la différence n'est pas significative). <example> <title>Exemple avec <function>fbsql_fetch_object</function></title> <programlisting role="php"><?php fbsql_connect($host, $user, $password); $result = fbsql_db_query("database", "select * from table;"); while ($row = fbsql_fetch_object($result)) { echo $row->user_id; echo $row->fullname; } fbsql_free_result($result);?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_fetch_array</function> et <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-row"> <refnamediv> <refname>fbsql_fetch_row</refname> <refpurpose>Lit une ligne de résultat sous forme de tableau numérique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_row</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_row</function> retourne un tableau représentant la ligne courant dans le résultat <parameter>result</parameter>, ou bien &false; s'il n'y a plus de lignes à lire. </para> <para> <function>fbsql_fetch_row</function> lit une ligne de données dans le résultat <parameter>result</parameter>, et crée un tableau numérique. Chaque colonne est stockés dans un élément du tableau, dans le même ordre que dans le résultat. Les indices commencent à 0. </para> <para> Le prochain appel à <function>fbsql_fetch_row</function> va lire la prochaine ligne, ou bien retourner &false; s'il n'y a plus de lignes à lire. </para> <para> Voir aussi <function>fbsql_fetch_array</function>, <function>fbsql_fetch_object</function>, <function>fbsql_data_seek</function>, <function>fbsql_fetch_lengths</function> et <function>fbsql_result</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-flags"> <refnamediv> <refname>fbsql_field_flags</refname> <refpurpose> Lit les options associé à une colonne de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_flags</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_flags</function> retourne les options du champs <parameter>field_offset</parameter>, dans le résultat <parameter>field_offset</parameter>. Les options sont retournées sous la forme d'un seul mot par option, séparées par des espaces, de façons à faciliter la manipulation avec <function>explode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-name"> <refnamediv> <refname>fbsql_field_name</refname> <refpurpose> Lit le nom d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_name</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_name</function> retourne le nom du champs numéro <parameter>field_index</parameter> dans le résultat <parameter>result</parameter>. <parameter>field_index</parameter> est le résultat de <function>fbsql_query</function> et <parameter>field_index</parameter> est l'offset numérique du champs. </para> <note> <para> <parameter>field_index</parameter> commence à 0. </para> <para> e.g. L'index du troisème champs est 2, et l'index du quatrième champs est 3... </para> </note> <para> <example> <title>Exemple avec <function>fbsql_field_name</function></title> <programlisting role="php"><?php// La tablea utilisateur est constituée de trois colonnes// user_id// username// password. $res = fbsql_db_query("users", "select * from users;", $link); echo fbsql_field_name($res, 0) . "\n"; echo fbsql_field_name($res, 2);?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting>user_idpassword </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-field-len"> <refnamediv> <refname>fbsql_field_len</refname> <refpurpose> Retourne la taille d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_field_len</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_len</function> retourne la taille du champs <parameter>field_offset</parameter> dans le résultat <parameter>result</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-seek"> <refnamediv> <refname>fbsql_field_seek</refname> <refpurpose> Déplace le pointeur de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_field_seek</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_seek</function> place le pointeur de colonne à la colonne <parameter>field_offset</parameter>. Si ce paramètre est omis, <function>fbsql_fetch_field</function> retourne le numéro de colonne courant. </para> <para> Voir aussi <function>fbsql_fetch_field</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-table"> <refnamediv> <refname>fbsql_field_table</refname> <refpurpose> Lit le nom de la table d'origine d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_table</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_table</function> retourn le nom de la table d'où est issue le champs d'offset <parameter>field_offset</parameter>. Les numéros de colonne commencent à 0. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-type"> <refnamediv> <refname>fbsql_field_type</refname> <refpurpose> Lit le type d'une colonne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_type</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_type</function> est similaire à la fonction <function>fbsql_field_name</function>. Les arguments sont identiques, mais le type du champs est retourné. Il peut valoir "int", "real", "string", "blob" ou d'autres valeurs, comme décrit dans <ulink url="&url.fbsql.docs;">la documentation FrontBase</ulink>. <example> <title>Exemple avec <function>fbsql_field_type</function></title> <programlisting role="php"><?php fbsql_connect("localhost:3306"); fbsql_connect("localhost", "_SYSTEM", ""); $result = fbsql_query("SELECT * FROM onek;"); $fields = fbsql_num_fields($result); $rows = fbsql_num_rows($result); $i = 0; $table = fbsql_field_table($result, $i); echo "Votre table '".$table."' a ".$fields." colonnes et ".$rows." lignes <br>"; echo "La table dispose des champs suivants <br>"; while ($i < $fields) { $type = fbsql_field_type ($result, $i); $name = fbsql_field_name ($result, $i); $len = fbsql_field_len ($result, $i); $flags = fbsql_field_flags($result, $i); echo $type." ".$name." ".$len." ".$flags."<br>"; $i++; } fbsql_close();?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-free-result"> <refnamediv> <refname>fbsql_free_result</refname> <refpurpose>Libère le résultat de la mémoire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_free_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_free_result</function> va libérer toute la mémoire utilisée par le résultat associé à la ressource <parameter>result</parameter>. </para> <para> <function>fbsql_free_result</function> n'a besoin d'être appelé que si vous craignez que votre script ne va consommer trop de mémoire, lorsqu'une requête retourne de très grand résultats. Toutes les ressources mémoire utilisées par le script sont de toutes manières libérées à la fin du script. </para> </refsect1> </refentry> <refentry id="function.fbsql-insert-id"> <refnamediv> <refname>fbsql_insert_id</refname> <refpurpose> Lit le dernier identifiant généré par une requête INSERT </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_insert_id</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_insert_id</function> retourne l'identifiant généré par la colonne de type DEFAULT UNIQUE, lors de la dernière requête INSERT, avec la connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. </para> <para> <function>fbsql_insert_id</function> retournera 0 si la dernière requête n'a pas généré de valeur dans la colonne DEFAULT UNIQUE Si vous devez sauver cette valeur pour plus tard, n'oubliez pas d'appeler <function>fbsql_insert_id</function> tout de suite après la requête qui a généré cette valeur. </para> <note> <para> La valeur de la fonction FrontBase SQL "<literal>LAST_INSERT_ID()</literal>" retourne toujours la dernière valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les requêtes. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-dbs"> <refnamediv> <refname>fbsql_list_dbs</refname> <refpurpose> Liste les bases de données </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_dbs</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_dbs</function> retourne un résultat contenant la liste des bases de données disponibles sur le serveur <optional>link_identifier</optional>. Utilisez la fonction <function>fbsql_tablename</function> pour passer en revue ce résultat. </para> <para> <example> <title>Exemple avec <function>fbsql_list_dbs</function></title> <programlisting role="php"><?php $link = fbsql_connect('localhost', 'myname', 'secret'); $db_list = fbsql_list_dbs($link); while ($row = fbsql_fetch_object($db_list)) { echo $row->Database . "\n"; }?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher ceci : <informalexample> <programlisting>database1database2database3.. </programlisting> </informalexample> </para> <note> <para> L'exemple ci-dessus peut aussi bien fonctionner avec la fonction <function>fbsql_fetch_row</function> ou toute autre similaire. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-fields"> <refnamediv> <refname>fbsql_list_fields</refname> <refpurpose>Liste les champs d'un résultat FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_fields</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>string <parameter>table_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_fields</function> lit les informations à propos de la table <parameter>table_name</parameter>, dans la base de données <parameter>table_name</parameter>, sur la connexion <parameter>link_identifier</parameter>. Un résultat de requête est retourné, et pourra être utilisé avec les fonctions <function>fbsql_field_flags</function>, <function>fbsql_field_len</function>, <function>fbsql_field_name</function> et <function>fbsql_field_type</function>. </para> <para> Un identifiant de résultat est une ressource PHP, représentée par un entier positif. <function>fbsql_list_fields</function> retourne -1 en cas d'erreur. Une chaîne décrivant l'erreur sera alors placée dans la variable <literal>$phperrmsg</literal>. Un message d'erreur sera aussi affiché, à moins que la fonction n'ai été appelée avec l'opérateur de suppression des erreurs @. </para> <para> <example> <title>Exemple avec <function>fbsql_list_fields</function></title> <programlisting role="php"><?php $link = fbsql_connect('localhost', 'myname', 'secret'); $fields = fbsql_list_fields("database1", "table1", $link); $columns = fbsql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { echo fbsql_field_name($fields, $i) . "\n";; }?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting>field1field2field3.. </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-list-tables"> <refnamediv> <refname>fbsql_list_tables</refname> <refpurpose>Liste les tables dans une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_tables</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_tables</function> liste les tables dans la base de données <parameter>database</parameter>, et retourne un résultat, tout comme <function>fbsql_db_query</function>. <function>fbsql_tablename</function> sert à extraire la liste des tables dans ce résultat. </para> </refsect1> </refentry> <refentry id="function.fbsql-next-result"> <refnamediv> <refname>fbsql_next_result</refname> <refpurpose>Déplace le pointeur interne vers le résultat suivant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_next_result</function></funcdef> <paramdef>resource <parameter>result_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous exécutez une procédure stockée avec de multiple résultats, cela va conduire le serveur à retourner plusieurs jeu de lignes. <function>fbsql_next_result</function> va vérifier l'existence de plusieurs résultats disponibles sur le serveur. Si un autre jeu de résultat existe, <function>fbsql_next_result</function> va détruire de résultat précédent, et préparer la lecture dans les nouvelles lignes. </para> <para> <function>fbsql_next_result</function> retourne &true; si un autre résultat est disponbile, ou &false; sinon. </para> <example> <title>Exemple avec <function>fbsql_next_result</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "_SYSTEM", "secret"); fbsql_select_db("MyDB", $link); $SQL = "Select * from table1; select * from table2;"; $rs = fbsql_query($SQL, $link); do { while ($row = fbsql_fetch_row($rs)) {} } while (fbsql_next_result($rs)); fbsql_free_result($rs); fbsql_close($link);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-num-fields"> <refnamediv> <refname>fbsql_num_fields</refname> <refpurpose>Lit le nombre de champs dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_fields</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_fields</function> retourne le nombre de champs dans le résultat <parameter>result</parameter>. </para> <para> Voir aussi <function>fbsql_db_query</function>, <function>fbsql_query</function>, <function>fbsql_fetch_field</function> et <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-num-rows"> <refnamediv> <refname>fbsql_num_rows</refname> <refpurpose>Lit le nombre de lignes dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_rows</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_rows</function> retourne le nombre de lignes dans le résultat <parameter>result</parameter>. Cette fonction n'est valable qu'avec les commandes SELECT. Pour connaître le nombre de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez <function>fbsql_affected_rows</function>. <example> <title>Exemple <function>fbsql_num_rows</function></title> <programlisting role="php"><?php $link = fbsql_connect("localhost", "username", "password"); fbsql_select_db("database", $link); $result = fbsql_query("SELECT * FROM table1;", $link); $num_rows = fbsql_num_rows($result); echo "$num_rows Rows\n";?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_connect</function>, <function>fbsql_select_db</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-pconnect"> <refnamediv> <refname>fbsql_pconnect</refname> <refpurpose> Ouvre une connexion persistante à un serveur FrontBase </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_pconnect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter><optional>username</optional></parameter> </paramdef> <paramdef>string <parameter><optional>password</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_pconnect</function> retourne une ressource représentant la connection au serveur FrontBase en cas de succès, ou bien &false; en cas d'erreur. </para> <para> <function>fbsql_pconnect</function> établit une connexion persistante à un serveur FrontBase. En cas d'omission, les valeurs suivantes sont utilisées par défaut : <parameter>host</parameter> ='localhost', <parameter>username</parameter> = nom de l'utilisateur qui possède le processus, et <parameter>password</parameter> = pas de mot de passe. </para> <para> Pour choisir le port d'accès au serveur FrontBase, voyez <function>fbsql_select_db</function>. </para> <para> <function>fbsql_pconnect</function> se comporte comme <function>fbsql_connect</function> avec deux différences majeures. </para> <para> Premièrement, lors de la connexion, <function>fbsql_pconnect</function> essaie de trouver une connexion permanante déjà ouverte sur cet hote, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion. </para> <para> Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès (<function>fbsql_close</function> ne terminera pas une connexion persistante établie par <function>fbsql_pconnect</function>). </para> <para> C'est pourquoi ce type de connexion est dite 'persistante'. </para> </refsect1> </refentry> <refentry id="function.fbsql-query"> <refnamediv> <refname>fbsql_query</refname> <refpurpose>Exécute une requête sur un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_query</function></funcdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter><optional>link_identifier</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_query</function> envoie la requête <parameter>query</parameter> à la base de données courante, sur le serveur représenté par sa connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_query</function> essaie d'établir une connexion en appelant la fonction <function>fbsql_connect</function> sans aucun argument. </para> <note> <para> La requête doit être terminée par un point-virgule! </para> </note> <para> <function>fbsql_query</function> retourne une ressource en cas de succès, ou &false;, en cas d'échec. </para> <para> La requête suivante est invalide, et <function>fbsql_query</function> échouera puis retournera &false;: <example> <title>Exemple avec <function>fbsql_query</function>(1)</title> <programlisting role="php"><?php $result = fbsql_query("SELECT * WHERE 1=1;") or die("Requête invalide");?> </programlisting> </example> </para> <para> La requête suivante est invalide si <literal>my_col</literal> n'est pas une colonne dans la table <literal>my_tbl</literal> : <function>fbsql_query</function> échouera puis retournera &false; : <example> <title>Exemple avec <function>fbsql_query</function>(2)</title> <programlisting role="php"><?php $result = fbsql_query("SELECT my_col FROM my_tbl") or die ("Invalid query");?> </programlisting> </example> </para> <para> <function>fbsql_query</function> échouera si vous n'avez pas les droits d'accès sur l'une des bases de données utilisée dans la requête. </para> <para> Lorsque la requête réussit, vous pouvez utilisez <function>fbsql_num_rows</function> pour savoir combien de lignes ont été retournée par une requête SELECT, ou bien <function>fbsql_affected_rows</function> pour les autres requêtes (DELETE, INSERT, REPLACE et UPDATE). </para> <para> Pour les requêtes SELECT, <function>fbsql_query</function> retourne une ressource de résultat, que vous pouvez passer à <function>fbsql_result</function>. Lors vous avez fini de lire le résultat, vous pouvez libérer les ressources utilisées en appelant <function>fbsql_free_result</function>. Cependant, la mémoire sera automatiquement libérée à la fin du script. </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_db_query</function>, <function>fbsql_free_result</function>, <function>fbsql_result</function>, <function>fbsql_select_db</function> et <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-read-blob"> <refnamediv> <refname>fbsql_read_blob</refname> <refpurpose>Lit un BLOB dans une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_read_blob</function></funcdef> <paramdef>string <parameter>blob_handle</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_read_blob</function> retourne une chaîne de caractères contenant le BLOB <parameter>blob_handle</parameter>. </para> <para> <function>fbsql_read_blob</function> lit les données du BLOB dans la base de données. Si une sélection contient un BLOB et/ou une colonne de type BLOB, FrontBase retournera directement les données lors de la lecture. Ce comportement par défaut peut être modifié avec la fonction <function>fbsql_set_lob_mode</function> pour que les fonctions de lectures ne retournent qu'un identifiant de BLOB ou CLOB. Si un identifiant est lu, il faut utiliser la fonction <function>fbsql_read_blob</function> pour obtenir la valeur du BLOB. </para> <example> <title>Exemple avec <function>fbsql_read_blob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $sql = "SELECT BLOB_COLUMN FROM BLOB_TABLE;"; $rs = fbsql_query($sql, $link); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain the blob data for teh first row fbsql_free_result($rs); $rs = fbsql_query($sql, $link); fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain a handle to the BLOB data in the first row $blob_data = fbsql_read_blob($row_data[0]); fbsql_free_result($rs);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-read-clob"> <refnamediv> <refname>fbsql_read_clob</refname> <refpurpose>Lit un CLOB dans une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_read_clob</function></funcdef> <paramdef>string <parameter>clob_handle</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_read_clob</function> retourne une chaîne de caractères contenant le CLOB <parameter>clob_handle</parameter>. </para> <para> <function>fbsql_read_clob</function> lit les données du CLOB dans la base de données. Si une sélection contient un CLOB et/ou une colonne de type CLOB, FrontBase retournera directement les données lors de la lecture. Ce comportement par défaut peut être modifié avec la fonction <function>fbsql_set_lob_mode</function> pour que les fonctions de lectures ne retournent qu'un identifiant de BLOB ou CLOB. Si un identifiant est lu, il faut utiliser la fonction <function>fbsql_read_clob</function> pour obtenir la valeur du CLOB. </para> <example> <title>Exemple avec <function>fbsql_read_blob</function></title> <programlisting role="php"><?php $link = fbsql_pconnect ("localhost", "_SYSTEM", "secret") or die ("Could not connect"); $sql = "SELECT CLOB_COLUMN FROM CLOB_TABLE;"; $rs = fbsql_query($sql, $link); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain the clob data for teh first row fbsql_free_result($rs); $rs = fbsql_query($sql, $link); fbsql_set_lob_mode($rs, FBSQL_LOB_HANDLE); $row_data = fbsql_fetch_row($rs); // $row_data[0] will now contain a handle to the CLOB data in the first row $clob_data = fbsql_read_clob($row_data[0]); fbsql_free_result($rs);?> </programlisting> </example> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_read_blob</function>, <function>fbsql_read_clob</function> et <function>fbsql_set_lob_mode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-result"> <refnamediv> <refname>fbsql_result</refname> <refpurpose>Lit des données dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>fbsql_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>row</parameter></paramdef> <paramdef>mixed <parameter> <optional>field</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_result</function> lit le contenu du champs <parameter>field</parameter>, dans la ligne <parameter>row</parameter>, du résultat <parameter>result</parameter>. L'argument <parameter>field</parameter> peut être l'offset du champs, ou bien son nom, ou bien le nom de sa table plus point plus son nom. Si la colonne a été aliasée, utilisez de préférence l'alias. </para> <para> Lorsque vous travaillez sur de grands résultats, il est vivement recommandé d'utiliser les fonctions qui lisent toute une ligne d'un coup, plutôt que <function>fbsql_result</function> qui travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi que les offset numériques sont plus rapides que les offset nominaux. </para> <para> L'utilisation de <function>fbsql_result</function> ne doivent pas être mélangé avec d'autres fonctions qui utilisent aussi le résultat <parameter>result</parameter>. </para> <para> Alternative vivement recommandées : <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-rollback"> <refnamediv> <refname>fbsql_rollback</refname> <refpurpose>Annule une transaction</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_rollback</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_rollback</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_rollback</function> termine la transaction courante en annulant toutes les requêtes émises depuis la dernière validation. Cette commande n'est utile que si FrontBase est en mode de validation manuelle. </para> <para> Voir aussi <function>fbsql_autocommit</function> et <function>fbsql_commit</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-set-lob-mode"> <refnamediv> <refname>fbsql_set_lob_mode</refname> <refpurpose> Modifie le mode de lecture des LOB </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_set_lob_mode</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>string <parameter>database_name</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_set_lob_mode</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_set_lob_mode</function> modifie le mode de lecture des LOB. Lorsque des données BLOB ou CLOB sont stockées dans une base de données FrontBase, elles peuvent l'être de manière directe ou indirecte. Si les données sont stockées directement, elles seront automatiquement lues, quelque soit le mode choisi. Si un LOB fait moins de 512 octets, il sera aussi stocké directement. <itemizedlist> <listitem> <simpara> FBSQL_LOB_DIRECT - les données LOB sont lues directements. Lorsque les données sont lues dans la base avec <function>fbsql_fetch_row</function> ou d'autres fonctions de lectures, toutes les colonnes de type CLOB et BLOB seront retournées comme des colonnes habituelles. C'est le comportement par défaut de FrontBase. </simpara> </listitem> <listitem> <simpara> FBSQL_LOB_HANDLE - Les données LOB sont lues sous forme d'identifiant. Lorsque les données sont lues dans la base avec <function>fbsql_fetch_row</function> ou d'autres fonctions de lectures, toutes les colonnes de type CLOB et BLOB seront retournées sous la forme d'un identifiant. Ce identifiant sera une chaîne de 27 caractères de long, formatée comme ceci : <literal>"@'000000000000000000000000'"</literal>. </simpara> </listitem> </itemizedlist> </para> <para> Voir aussi <function>fbsql_create_blob</function>, <function>fbsql_create_clob</function>, <function>fbsql_read_blob</function> et <function>fbsql_read_clob</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-select-db"> <refnamediv> <refname>fbsql_select_db</refname> <refpurpose>Sélectionne une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_select_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_select_db</function> retourne &true; en cas de succès et &false; en cas d'erreur. </para> <para> <function>fbsql_select_db</function> remplace la base de données active courante par <parameter>database_name</parameter>, sur la connexion ouverte et représentée par <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_select_db</function> essaiera de se connecter en appelant <function>fbsql_connect</function> sans argument. </para> <para> Le client contacte FBExec pour connaître le numéro de port à utiliser pour la connexion à la base de données. Si le nom de la base est un numéro, le système l'utilisera comme numéro de port, et ne le demandera pas à FBExec. Le serveur Frontbase peut être démarré avec la commande : <literal>FRontBase -FBExec=No -port=<port number> <database name></literal>. </para> <para> Tous les prochains appel à <function>fbsql_query</function> se feront dans la base <parameter>database_name</parameter>. </para> <para> Voir aussi <function>fbsql_connect</function>, <function>fbsql_pconnect</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-start-db"> <refnamediv> <refname>fbsql_start_db</refname> <refpurpose>Démarre une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_start_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_start_db</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_start_db</function> démarre la base de données <parameter>database_name</parameter> sur la connexion <parameter>link_identifier</parameter>. </para> <para> Voir aussi <function>fbsql_db_status</function> et <function>fbsql_stop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-stop-db"> <refnamediv> <refname>fbsql_stop_db</refname> <refpurpose>Stoppe une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_stop_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_stop_db</function> retourne &true; en cas de succès et &false; sinon. </para> <para> <function>fbsql_stop_db</function> stoppe la base de données <parameter>database_name</parameter> sur la connexion <parameter>link_identifier</parameter>. </para> <para> Voir aussi <function>fbsql_db_status</function> et <function>fbsql_start_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-tablename"> <refnamediv> <refname>fbsql_tablename</refname> <refpurpose>Lit le nom de la table d'un champs</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_tablename</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>i</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_tablename</function> retourne le nom de la table d'origine du champs <parameter>i</parameter>, dans le résultat <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> peut être utilisée pour connaître le nombre de tables dans un résultat. <example> <title>Exemple avec <function>fbsql_tablename</function></title> <programlisting role="php"><?php fbsql_connect("localhost:3306"); $result = fbsql_list_tables("wisconsin"); $i = 0; while ($i < fbsql_num_rows($result)) { $tb_names[$i] = fbsql_tablename($result, $i); echo $tb_names[$i] . "<br>"; $i++; }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-warnings"> <refnamediv> <refname>fbsql_warnings</refname> <refpurpose>Active ou désactive les alertes FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_warnings</function></funcdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_warnings</function> retourne &true; si les alertes sont actives et &false; en cas d'erreur. </para> <para> <function>fbsql_warnings</function> active ou désactive les alertes FrontBase suivant que <parameter>OnOff</parameter> est à &true; ou &false;. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/fdf.xml diff -u phpdoc/fr/functions/fdf.xml:1.9 phpdoc/fr/functions/fdf.xml:1.10 --- phpdoc/fr/functions/fdf.xml:1.9 Fri Jul 13 13:51:07 2001 +++ phpdoc/fr/functions/fdf.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.fdf"> <title>Forms Data Format</title> <titleabbrev>FDF</titleabbrev> @@ -488,7 +490,7 @@ <refentry id="function.fdf-set-submit-form-action"> <refnamediv> <refname>fdf_set_submit_form_action</refname> - <refpurpose>Modifie l'action javascript d'un champs</refpurpose> + <refpurpose>Modifie l'action d'un formulaire</refpurpose> </refnamediv> <refsect1> <title>Description</title> @@ -558,12 +560,13 @@ <function>fdf_set_encoding</function> modifie l'encodage des caractères du document FDF <parameter>fdf_document</parameter>. Le paramètre <parameter>encoding</parameter> doit être un - nom d'encodage valide, tels que "<literal>Shift-JIS</literal>" ou - "<literal>Unicode</literal>". + nom d'encodage valide. Pour Acrobat 5.0, un nom valide peut notamment + être "<literal>Shift-JIS</literal>", "<literal>UHC</literal>", + "<literal>GBK</literal>" ou "<literal>BigFive</literal>". </para> <para> - <function>fdf_set_encoding</function> a été ajoutée - en PHP 4.0.7. + <function>fdf_set_encoding</function> a été ajoutée + en PHP 4.1.0. </para> </refsect1> </refentry> Index: phpdoc/fr/functions/filepro.xml diff -u phpdoc/fr/functions/filepro.xml:1.6 phpdoc/fr/functions/filepro.xml:1.7 --- phpdoc/fr/functions/filepro.xml:1.6 Thu Mar 22 14:19:36 2001 +++ phpdoc/fr/functions/filepro.xml Mon Nov 12 00:10:20 2001 @@ -1,162 +1,171 @@ - <reference id="ref.filepro"> - <title>FilePro</title> - <partintro> - <simpara> - Ces fonctions permettent de lire des données enregistrées - dans des bases non modifiables, sur des serveurs filePro. - </simpara> - <simpara> - filePro est une marque de fP Technologies, Inc. Vous pouvez avoir plus de - détails sur filePro à - <ulink url="&url.filepro;">&url.filepro;</ulink>. - </simpara> - </partintro> - <refentry id="function.filepro"> - <refnamediv> - <refname>filepro</refname> - <refpurpose>Lit et vérifie un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>filepro</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro</function> lit et vérifie un fichier, - puis enregistre le nombre de champs et de lignes. - </para> - <para> - Aucun verrouillage n'est pratiqué : il vaut alors mieux - ne pas modifier la base filePro lorsqu'elle est ouverte par PHP. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldname"> - <refnamediv> - <refname>filepro_fieldname</refname> - <refpurpose>Retourne le nom d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filepro_fieldname</function></funcdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_fieldname</function> retourne le nom du champs - d'index <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldtype"> - <refnamediv> - <refname>filepro_fieldtype</refname> - <refpurpose>Retourne le type d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filepro_fieldtype</function></funcdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Retourne le type du champs d'index <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldwidth"> - <refnamediv> - <refname>filepro_fieldwidth</refname> - <refpurpose>Retourne la taille d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filepro_fieldwidth</function></funcdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Retourne la taille du champs d'index <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-retrieve"> - <refnamediv> - <refname>filepro_retrieve</refname> - <refpurpose>Retourne la valeur d'un champs.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filepro_retrieve</function></funcdef> - <paramdef>int <parameter>row_number</parameter></paramdef> - <paramdef>int <parameter>field_number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_retrieve</function> retourne la valeur du - champs d'index <parameter>row_number</parameter>, et à la - ligne <parameter>field_number</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-fieldcount"> - <refnamediv> - <refname>filepro_fieldcount</refname> - <refpurpose>Retourne le nombre de champs dans une base filePro.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filepro_fieldcount</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_fieldcount</function> retourne le nombre de - champs (ou colonnes) d'une base filePro. - </para> - <para> - Voir aussi <function>filepro</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.filepro-rowcount"> - <refnamediv> - <refname>filepro_rowcount</refname> - <refpurpose> - Retourne le nombre de champs dans une base filePro. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filepro_rowcount</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filepro_rowcount</function> retourne le nombre de - lignes dans une base filePro. - </para> - <para> - Voir aussi <function>filepro</function>. - </para> - </refsect1> - </refentry> - </reference> +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.7 $ --> +<reference id="ref.filepro"> + <title>FilePro</title> + <partintro> + <simpara> + Ces fonctions permettent de lire des données enregistrées + dans des bases non modifiables, sur des serveurs filePro. + </simpara> + <simpara> + filePro est une marque de fP Technologies, Inc. Vous pouvez avoir plus de + détails sur filePro à + <ulink url="&url.filepro;">&url.filepro;</ulink>. + </simpara> + </partintro> + <refentry id="function.filepro"> + <refnamediv> + <refname>filepro</refname> + <refpurpose>Lit et vérifie un fichier.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>filepro</function></funcdef> + <paramdef>string <parameter>directory</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro</function> lit et vérifie un fichier, + puis enregistre le nombre de champs et de lignes. + </para> + <para> + Aucun verrouillage n'est pratiqué : il vaut alors mieux + ne pas modifier la base filePro lorsqu'elle est ouverte par PHP. + </para> + ¬e.sm.uidcheck; + </refsect1> + </refentry> + <refentry id="function.filepro-fieldname"> + <refnamediv> + <refname>filepro_fieldname</refname> + <refpurpose>Retourne le nom d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>filepro_fieldname</function></funcdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldname</function> retourne le nom du champs + d'index <parameter>field_number</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-fieldtype"> + <refnamediv> + <refname>filepro_fieldtype</refname> + <refpurpose>Retourne le type d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>filepro_fieldtype</function></funcdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldtype</function> retourne le type du champs + d'index <parameter>field_number</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-fieldwidth"> + <refnamediv> + <refname>filepro_fieldwidth</refname> + <refpurpose>Retourne la taille d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>filepro_fieldwidth</function></funcdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldwidth</function> retourne la taille du + champs d'index <parameter>field_number</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-retrieve"> + <refnamediv> + <refname>filepro_retrieve</refname> + <refpurpose>Retourne la valeur d'un champs.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>filepro_retrieve</function></funcdef> + <paramdef>int <parameter>row_number</parameter></paramdef> + <paramdef>int <parameter>field_number</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_retrieve</function> retourne la valeur du + champs d'index <parameter>row_number</parameter>, et à la + ligne <parameter>field_number</parameter>. + </para> + ¬e.sm.uidcheck; + </refsect1> + </refentry> + <refentry id="function.filepro-fieldcount"> + <refnamediv> + <refname>filepro_fieldcount</refname> + <refpurpose>Retourne le nombre de champs dans une base filePro.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>filepro_fieldcount</function></funcdef> + <paramdef>void</paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_fieldcount</function> retourne le nombre de + champs (ou colonnes) d'une base filePro. + </para> + <para> + Voir aussi + <function>filepro</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.filepro-rowcount"> + <refnamediv> + <refname>filepro_rowcount</refname> + <refpurpose> + Retourne le nombre de champs dans une base filePro. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>filepro_rowcount</function></funcdef> + <paramdef>void</paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>filepro_rowcount</function> retourne le nombre de + lignes dans une base filePro. + </para> + <para> + Voir aussi + <function>filepro</function>. + </para> + ¬e.sm.uidcheck; + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml Index: phpdoc/fr/functions/filesystem.xml diff -u phpdoc/fr/functions/filesystem.xml:1.25 phpdoc/fr/functions/filesystem.xml:1.26 --- phpdoc/fr/functions/filesystem.xml:1.25 Mon Jul 23 12:48:28 2001 +++ phpdoc/fr/functions/filesystem.xml Mon Nov 12 00:10:20 2001 @@ -1,2897 +1 @@ -<reference id="ref.filesystem"> - <title>Système de fichiers</title> - <titleabbrev>Système de fichiers</titleabbrev> - <refentry id="function.basename"> - <refnamediv> - <refname>basename</refname> - <refpurpose> - Sépare le nom du fichier et le nom du dossier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>basename</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>basename</function> prend en paramètre le chemin complet - d'un fichier et en extrait le nom du fichier. - </para> - <para> - Sous Windows, les caractères (<literal>/</literal>) et antislash - (<literal>\</literal>) sont utilisés comme séparateurs de - dossier. Sous les autres OS, seul le caractère slash - (<literal>/</literal>) est utilisé. - </para> - <para> - <example> - <title>Exemple avec <function>basename</function></title> - <programlisting role="php"> -<?php - $path = "/home/httpd/html/index.php3"; - $file = basename($path); - // $file est affecté avec "index.php3" -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>dirname</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.chgrp"> - <refnamediv> - <refname>chgrp</refname> - <refpurpose>Change le groupe possesseur du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chgrp</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>mixed <parameter>group</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chgrp</function> essaie de changer le groupe propriétaire - du fichier. Seul le super-utilisateur (root) peut changer le groupe - propriétaire d'un fichier arbitrairement. Les utilisateurs - classiques ne peuvent changer - le groupe propriétaire d'un fichier que si l'utilisateur - propriétaire du fichier est membre du groupe. - </para> - <para> - <function>chgrp</function> renvoie &true; en - cas de succès, sinon renvoie &false;. - </para> - <para> - Voir aussi - <function>chown</function> et - <function>chmod</function>. - </para> - <note> - <simpara> - <function>chgrp</function> ne fonctionne pas sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.chmod"> - <refnamediv> - <refname>chmod</refname> - <refpurpose>Change le mode du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chmod</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chmod</function> remplace le mode du fichier - <parameter>filename</parameter> par le mode <parameter>mode</parameter>. - </para> - <para> - Il est à noter que le mode <parameter>mode</parameter> est - considéré comme un nombre en notation octale. Afin de - vous en assurer, vous pouvez préfixer cette valeur par un - zéro (<parameter>mode</parameter>): - <informalexample> - <programlisting role="php"> -<?php - chmod( "/somedir/somefile", 755 ); -// notation décimale; probablement <literal>FALSE</literal> - chmod( "/somedir/somefile", 0755 ); -// notation octale; valeur du mode correcte -?> - </programlisting> - </informalexample> - </para> - <para> - <function>chmod</function> renvoie &true; - en cas de succès, &false; sinon. - </para> - <para> - Voir aussi - <function>chown</function> et - <function>chgrp</function>. - </para> - <note> - <simpara> - <function>chmod</function> ne fonctionne pas sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.chown"> - <refnamediv> - <refname>chown</refname> - <refpurpose>Change le groupe propriétaire du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>chown</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>mixed <parameter>user</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>chown</function> change le groupe propriétaire du fichier. - Seul le super-utilisateur (root) peut changer le propriétaire - arbitrairement d'un fichier. - </para> - <para> - <function>chown</function> renvoie &true; - en cas de succès, "&false;" sinon. - <note> - <simpara> - Sous Windows, <function>chown</function> ne fait rien et - retourne &true;. - </simpara> - </note> - </para> - <para> - Voir aussi - <function>chown</function> et - <function>chmod</function>. - </para> - <note> - <simpara> - <function>chown</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.clearstatcache"> - <refnamediv> - <refname>clearstatcache</refname> - <refpurpose>Efface le cache de <function>stat</function></refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>clearstatcache</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - L'appel à la fonction <systemitem>stat</systemitem> ou - <systemitem>lstat</systemitem> est relativement coûteux en terme de - temps d'exécution. Pour cela, le résultat du dernier - appel à l'une des fonctions de statut, (voir la liste ci-dessous), est - sauvegardé pour ré-utilisation ultérieure. Si vous voulez - forcer la vérification du statut d'un fichier, dans le cas où le - fichier aurait pu être modifié ou aurait disparu, vous - devez utiliser la fonction <function>clearstatcache</function> - afin d'effacer de la mémoire les résultats du dernier - appel à la fonction. - </para> - <para> - La valeur du cache n'est valable que pour la durée d'une requête. - </para> - <para> - Les fonctions affectées sont : <function>stat</function>, - <function>lstat</function>, - <function>file_exists</function>, - <function>is_writable</function>, - <function>is_readable</function>, - <function>is_executable</function>, - <function>is_file</function>, - <function>is_dir</function>, - <function>is_link</function>, - <function>filectime</function>, - <function>fileatime</function>, - <function>filemtime</function>, - <function>fileinode</function>, - <function>filegroup</function>, - <function>fileowner</function>, - <function>filesize</function>, - <function>filetype</function>, et - <function>fileperms</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.copy"> - <refnamediv> - <refname>copy</refname> - <refpurpose>Copie un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>copy</function></funcdef> - <paramdef>string <parameter>source</parameter></paramdef> - <paramdef>string <parameter>dest</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>copy</function> fait une copie du fichier. Elle renvoie &true; en - cas de succès, &false; sinon. - <example> - <title>Exemple avec <function>copy</function></title> - <programlisting role="php"> -if ( !copy($file, $file.'.bak') ) { - print("La copie du fichier $file n'a pas réussi...<br>\n"); -} - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>rename</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.delete"> - <refnamediv> - <refname>delete</refname> - <refpurpose>Effacer</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>delete</function></funcdef> - <paramdef>string <parameter>file</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Ceci est une fausse entrée du manuel pour ceux qui recherchent - en fait la fonction <function>unlink</function> ou <function>unset</function>. - </para> - <para> - Voir aussi - <function>unlink</function> pour effacer des fichiers et - <function>unset</function> pour effacer des variables. - </para> - </refsect1> - </refentry> - <refentry id="function.dirname"> - <refnamediv> - <refname>dirname</refname> - <refpurpose>Renvoie le nom du dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>dirname</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Si <parameter>path</parameter> contient le chemin d'un fichier ou dossier, - <function>dirname</function> retournera le nom du dossier qui le contient. - </para> - <para> - Sous Windows, les slash (<literal>/</literal>) et anti-slash - (<literal>\</literal>) sont utilisés comme séparateurs - de dossier. Dans les autres environnements, seul le slash - (<literal>/</literal>) est utilisé. - </para> - <para> - <example> - <title>Exemple avec <function>dirname</function></title> - <programlisting role="php"> -<?php - $path = "/etc/passwd"; - $file = dirname($path); // $file contient "/etc" -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>basename</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.diskfreespace"> - <refnamediv> - <refname>diskfreespace</refname> - <refpurpose> - Renvoie l'espace disque disponible dans le répertoire. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>float <function>diskfreespace</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>diskfreespace</function> retournera le nombre d'octets disponibles sur - le disque correspondant contenant le dossier <parameter>directory</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>diskfreespace</function></title> - <programlisting role="php"> -<?php - $df = diskfreespace("/"); - // $df contient le nombre d'octets libres sur "/" -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.disk-total-space"> - <refnamediv> - <refname>disk_total_space</refname> - <refpurpose>Retourne la taille d'un dossier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>float <function>disk_total_space</function></funcdef> - <paramdef>string <parameter>directory</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>disk_total_space</function> lit récursivement toutes les tailles - du dossier <parameter>directory</parameter> et retourne la - somme. <parameter>directory</parameter> peut être aussi une partition - de disque. - </para> - <para> - <example> - <title>Exemple avec <function>disk_total_space</function></title> - <programlisting role="php"> -<?php - $df = disk_total_space("/"); // $df contient le nombre d'octets libres - // dans le dossier "/" -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fclose"> - <refnamediv> - <refname>fclose</refname> - <refpurpose>Ferme un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>fclose</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fclose</function> ferme le fichier <parameter>fp</parameter>. - </para> - <para> - <function>fclose</function> retourne &true; en cas de succès, - et &false; en cas d'échec. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function> ou - <function>fsockopen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.feof"> - <refnamediv> - <refname>feof</refname> - <refpurpose>Teste la fin du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>feof</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>feof</function> retourne &true; si le pointeur - <parameter>fp</parameter> est à la fin du fichier, ou si - une erreur survient, sinon, retourne &false;. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fflush"> - <refnamediv> - <refname>fflush</refname> - <refpurpose> - Envoi tout le contenu généré dans un fichier - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fflush</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fflush</function> force l'écriture de toutes les - données bufferisées dans le fichier désigné - par <parameter>fp</parameter>. <function>fflush</function> retourne - &true; en cas de succès, et &false; - sinon. - </para> - <para> - <parameter>fp</parameter> est un pointeur de fichier ouvert - avec <function>fopen</function>, <function>popen</function>, ou - <function>fsockopen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fgetc"> - <refnamediv> - <refname>fgetc</refname> - <refpurpose> - Renvoie le caractère que pointe le pointeur du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fgetc</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fgetc</function> retourne une chaîne contenant un - seul caractère, lu depuis le fichier pointé par - <parameter>fp</parameter>. <function>fgetc</function> retourne - &false; à la fin du fichier - (tout comme <function>feof</function>). - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. - </para> - <para> - Voir aussi - <function>fread</function>, - <function>fopen</function>, - <function>popen</function>, - <function>fsockopen</function> et - <function>fgets</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fgetcsv"> - <refnamediv> - <refname>fgetcsv</refname> - <refpurpose> - Renvoie la ligne courante et cherche les champs CSV - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fgetcsv</function></funcdef> - <paramdef>resource <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - <paramdef>string - <parameter> - <optional>delimiter</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - Identique à <function>fgets</function> mais <function>fgetcsv</function> - analyse la ligne qu'il lit et recherche les champs CSV, qu'il - va retourner dans un tableau les contenant. Le délimiteur de champs - <parameter>delimiter</parameter> est la virgule, à moins que vous ne - fournissiez un troisième argument. - </simpara> - <simpara> - <parameter>fp</parameter> doit être un pointeur valide, et avoir - été correctement ouvert par <function>fopen</function>, - <function>popen</function>, ou <function>fsockopen</function>. - </simpara> - <simpara> - <parameter>length</parameter> doit être plus grand que la plus - grande ligne trouvée dans un fichier CSV (en comptant les - caractères de fin de ligne). - </simpara> - <simpara> - <function>fgetcsv</function> retourne &false; en cas - d'erreur, ou en cas de fin du fichier. - </simpara> - <simpara> - Note : une ligne vide dans un fichier CSV sera retournée dans le - tableau comme une chaîne vide, et ne sera pas traitée comme - une erreur. - </simpara> - <example> - <title> - Exemple avec <function>fgetcsv</function> - </title> - <programlisting role="php"> -<?php - $row = 1; - $fp = fopen ("test.csv","r"); - while ($data = fgetcsv ($fp, 1000, ",")) { - $num = count ($data); - print "<p> $num champs dans la ligne $row: <br>"; - $row++; - for ($c=0; $c<$num; $c++) { - print $data[$c] . "<br>"; - } - } - fclose ($fp); -?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fgets"> - <refnamediv> - <refname>fgets</refname> - <refpurpose> - Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fgets</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fgets</function> retourne la chaîne lue jusqu'à - la longueur <parameter>length</parameter> - 1 octet, ou bien la fin du - fichier, ou encore un retour chariot (le premier des trois qui sera - rencontré). - </para> - <para> - Si une erreur survient, <function>fgets</function> retourne &false;. - </para> - <para> - Erreur courante : - </para> - <simpara> - Les programmeurs habitués à la programmation 'C' noteront que - <function>fgets</function> ne se comporte pas comme son équivalent C - lors de la rencontre de la fin du fichier. - </simpara> - <simpara> - <parameter>fp</parameter> doit être valide, et avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. - </simpara> - <para> - Un exemple simple : - <example> - <title>Lecture d'un fichier ligne par ligne</title> - <programlisting role="php"> -<?php - $fd = fopen ("/tmp/inputfile.txt", "r"); - while (!feof($fd)) { - $buffer = fgets($fd, 4096); - echo $buffer; - } - fclose ($fd); -?> - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fread</function>, - <function>fopen</function>, - <function>popen</function>, - <function>fgetc</function>, - <function>fsockopen</function> et - <function>socket_set_timeout</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fgetss"> - <refnamediv> - <refname>fgetss</refname> - <refpurpose> - Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier et - élimine les balises HTML - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fgetss</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - <paramdef>string - <parameter> - <optional>allowable_tags</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Identique à <function>fgets</function>, mais <function>fgetss</function> - supprime toutes les balises HTML et PHP qu'il trouve dans le texte lu. - </para> - <para> - Vous pouvez aussi préciser les balises qui seront ignorées dans - le troisième paramètre, optionnel. - <note> - <para> - <parameter>allowable_tags</parameter> a été ajouté dans - PHP 3.0.13, PHP 4B3. - </para> - </note> - </para> - <para> - Voir aussi - <function>fgets</function>, - <function>fopen</function>, - <function>fsockopen</function>, - <function>popen</function> et - <function>strip_tags</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.file"> - <refnamediv> - <refname>file</refname> - <refpurpose> - Lit le fichier et renvoie le résultat dans un tableau. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int - <parameter><optional>use_include_path</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Identique à <function>readfile</function>, hormis le fait que - <function>file</function> retourne le fichier dans un tableau. Chaque - élément du tableau correspond à une ligne du fichier, - et les retour-chariots sont placés en fin de ligne. - </para> - <para> - Vous pouvez utiliser l'option <parameter>use_include_path</parameter> : - en la mettant à "1", vous rechercherez aussi dans le dossier - <link linkend="ini.include-path">include_path</link>. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php -// Lire une page web dans un tableau, et l'afficher - $fcontents = file( 'http://www.php.net' ); - while ( list( $numero_ligne, $ligne ) = each( $fcontents ) ) { - echo "<B>Ligne $numero_ligne:</B> ".htmlspecialchars( $ligne ) . "<br>\n"; - } -// lire une page web dans une chaîne - $fcontents = join( '', file( 'http://www.php.net' ) ); -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>readfile</function>, - <function>fopen</function>, - <function>fsockopen</function> et - <function>popen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.file-exists"> - <refnamediv> - <refname>file_exists</refname> - <refpurpose>Vérifie si un fichier existe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>file_exists</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>file_exists</function> retourne &true; si le fichier - <parameter>filename</parameter> existe, et &false; sinon. - </simpara> - <simpara> - <function>file_exists</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <simpara> - Le résultat de <function>file_exists</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour - plus de détails. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fileatime"> - <refnamediv> - <refname>fileatime</refname> - <refpurpose> - Renvoie la date à laquelle le fichier a été - accédé pour la dernière fois. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileatime</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fileatime</function> renvoie la date à laquelle le fichier - a été accédé pour la dernière fois, ou - &false; en cas d'erreur. - </simpara> - <simpara> - <function>fileatime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <simpara> - Le résultat de <function>fileatime</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </simpara> - </refsect1> - </refentry> - <refentry id="function.filectime"> - <refnamediv> - <refname>filectime</refname> - <refpurpose> - Renvoie l'heure à laquelle l'inode a été - accédé pour la dernière fois. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filectime</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filectime</function> renvoie l'heure à laquelle l'inode - <parameter>filename</parameter> a été accédé pour - la dernière fois, ou &false; en cas d'erreur. - </para> - <simpara> - <function>filectime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Note: Sur la plupart des serveurs UNIX, un fichier est considéré - comme modifié si les données de son inode sont modifiées. - C'est-à-dire lorsque les permissions (utilisateur, groupe ou autre) ont - été modifiées. Voyez aussi <function>filemtime</function> - (que vous pourrez utiliser lorsque vous créerez des indications - telles que "Dernière modification : " sur les pages web) et - <function>fileatime</function>. - </para> - <para> - Notez aussi que sur certains systèmes UNIX, le ctime d'un fichier - texte est considéré comme sa date de création. Cela est faux! - Il n'y a pas de date de création de fichier sous la plupart - des systèmes UNIX. - </para> - <para> - Le résultat de <function>filectime</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - </refsect1> - </refentry> - <refentry id="function.filegroup"> - <refnamediv> - <refname>filegroup</refname> - <refpurpose>Lire le nom du groupe</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filegroup</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filegroup</function> renvoie le groupe qui possède le fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - L'identifiant de groupe est retourné au format numérique, utilisez - <function>posix_getgrgid</function> pour retrouver le nom du groupe. - </para> - <simpara> - <function>filegroup</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>filegroup</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <note> - <simpara> - <function>filegroup</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.fileinode"> - <refnamediv> - <refname>fileinode</refname> - <refpurpose>Renvoie le numéro d'inode du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileinode</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fileinode</function> renvoie le numéro d'inode du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - </para> - <para> - Le résultat de <function>fileinode</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>fileinode</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <note> - <simpara> - <function>fileinode</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.filemtime"> - <refnamediv> - <refname>filemtime</refname> - <refpurpose> - Renvoie la date de dernière modification du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filemtime</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filemtime</function> renvoie la date de dernière - modification du fichier <parameter>filename</parameter>, ou &false; - en cas d'erreur. - </para> - <para> - Le résultat de <function>filemtime</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>filemtime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - <function>filemtime</function> retourne l'heure d'écriture - des blocs données d'un fichier. Utilisez <function>date</function> - sur ce résultat pour obtenir une date de modification humainement - lisible. - </para> - </refsect1> - </refentry> - <refentry id="function.fileowner"> - <refnamediv> - <refname>fileowner</refname> - <refpurpose>Renvoie le nom du propriétaire du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileowner</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fileowner</function> renvoie le nom du possesseur du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - L'identification du possesseur de fichier est numérique : il faut utiliser - <function>posix_getpwuid</function> pour retrouver le nom d'utilisateur. - </para> - <simpara> - <function>fileowner</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>fileowner</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - <note> - <simpara> - <function>fileowner</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.fileperms"> - <refnamediv> - <refname>fileperms</refname> - <refpurpose> - Renvoie les permissions affectées au fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fileperms</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fileperms</function> renvoie les permissions affectées - au fichier <parameter>filename</parameter>, ou &false; - en cas d'erreur. - </para> - <simpara> - <function>fileperms</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>fileperms</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - </refsect1> - </refentry> - <refentry id="function.filesize"> - <refnamediv> - <refname>filesize</refname> - <refpurpose>Renvoie la taille du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>filesize</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filesize</function> renvoie la taille du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - </para> - <simpara> - <function>filesize</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>filesize</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus - de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.filetype"> - <refnamediv> - <refname>filetype</refname> - <refpurpose>Retourne le type de fichier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>filetype</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>filetype</function> renvoie le type du fichier - <parameter>filename</parameter>. Les réponses possibles sont : - fifo, char, dir, block, link, file, et unknown. - </para> - <para> - <function>filetype</function> retourne &false; en cas d'erreur. - </para> - <simpara> - <function>filetype</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>filetype</function> est mis en cache. - Reportez-vous à <function>clearstatcache</function> pour plus de - détails. - </para> - </refsect1> - </refentry> - <refentry id="function.flock"> - <refnamediv> - <refname>flock</refname> - <refpurpose>Verrouille le fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>flock</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>operation</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - PHP dispose d'un système complet de verrouillage de fichiers. - Tous les programmes qui accèdent au fichier doivent utiliser la - même méthode de verrouillage pour qu'il soit efficace. - </simpara> - <simpara> - <function>flock</function> agit sur le fichier <parameter>fp</parameter> - qui doit avoir été ouvert au préalable. - <parameter>operation</parameter> est une des valeurs suivantes : - </simpara> - <para> - <itemizedlist> - <listitem> - <simpara> - Acquisition d'un verrou : <parameter>operation</parameter> = 1. - </simpara> - </listitem> - <listitem> - <simpara> - Acquisition d'un verrou exclusif (écriture), - <parameter>operation</parameter> = 2. - </simpara> - </listitem> - <listitem> - <simpara> - Libération d'un verrou (partagé ou exclusif), - <parameter>operation</parameter> = 3. - </simpara> - </listitem> - <listitem> - <simpara> - Si vous voulez que <function>flock</function> ne se bloque pas durant - le verrouillage, ajoutez 4 à <parameter>operation</parameter>. - </simpara> - </listitem> - </itemizedlist> - </para> - <simpara> - <function>flock</function> permet de réaliser un système simple de - verrous écriture / lecture, qui peut être utilisé sur - n'importe quelle plate-forme (Unix et Windows compris). - </simpara> - <simpara> - <function>flock</function> retourne &true; en cas - de succès, et &false; - sinon. (le verrou n'a pas pu être obtenu). - </simpara> - <warning> - <para> - Sur la plupart des OS, <function>flock</function> est implémenté - au niveau processus. Lors de l'utilisation des API d'un serveur multi-thread, - comme ISAPI, vous ne pouvez pas vous fier à <function>flock</function> - pour protéger vos fichiers contre des accès concurrents du - même serveur. - </para> - </warning> - </refsect1> - </refentry> - <refentry id="function.fopen"> - <refnamediv> - <refname>fopen</refname> - <refpurpose>Ouverture d'un fichier ou d'une URL.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fopen</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>string <parameter>mode</parameter></paramdef> - <paramdef>int - <parameter> - <optional>use_include_path</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - Si <parameter>filename</parameter> commence par "http://" (insensible à - la casse), une connexion HTTP 1.x est ouverte avec le serveur - spécifié, et un pointeur sur la réponse fournie est - retourné. Une en-tête '<literal>Host:</literal>' est envoyé avec la - requête, afin de gérer les virtual hosts basés sur les noms. - </simpara> - <simpara> - Notez que le pointeur de fichier retourné représente le corps de la - réponse, et qu'il n'est pas possible d'accéder aux en-têtes HTTP - avec cette fonction. - </simpara> - <simpara> - Les versions antérieures à PHP 4.0.6, ne gère pas les - redirections automatiques, ce qui oblige à ajouter les slash finaux - "/" pour indiquer un dossier. - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par "ftp://" (insensible à - la casse), une connexion FTP est ouverte avec le serveur spécifié, - et un pointeur sur la réponse fournie est retourné. Si le serveur - ne supporte par le mode FTP passif, <function>fopen</function> échouera. - Vous pouvez ouvrir des fichiers en lecture seulement, ou en écriture - seulement (le full duplex n'est pas supporté). - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par "php://stdin", "php://stdout", - ou "php://stderr", le flot correspondant sera ouvert. (Cela a été - introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" - ou "/dev/fd/0" devaient être utilisés pour accéder à - ces flots). - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par n'importe quoi d'autre, PHP - tentera de lire ce fichier dans le système local, et un pointeur sur - le fichier ouvert sera retourné. - </simpara> - <simpara> - Si l'ouverture échoue, <function>fopen</function> retourne - &false;. - </simpara> - <para> - <parameter>mode</parameter> peut prendre les valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - 'r' - Ouvre en lecture seule, et place le pointeur de fichier au - début du fichier. - </simpara> - </listitem> - <listitem> - <simpara> - 'r+' - Ouvre en lecture et écriture, et place le pointeur de - fichier au début du fichier. - </simpara> - </listitem> - <listitem> - <simpara> - 'w' - Ouvre en écriture seule; place le pointeur de fichier au - début du fichier et réduit la taille du fichier à 0. - Si le fichier n'existe pas, on tente de le créer. - </simpara> - </listitem> - <listitem> - <simpara> - 'w+' - Ouvre en lecture et écriture; place le pointeur de fichier - au début du fichier et réduit la taille du fichier à - 0. Si le fichier n'existe pas, on tente de le créer. - </simpara> - </listitem> - <listitem> - <simpara> - 'a' - Ouvre en écriture seule; place le pointeur de fichier à - la fin du fichier file. Si le fichier n'existe pas, on tente de le - créer. - </simpara> - </listitem> - <listitem> - <simpara> - 'a+' - Ouvre en lecture et écriture; place le pointeur de fichier - à la fin du fichier. Si le fichier n'existe pas, on tente de le - créer. - </simpara> - </listitem> - </itemizedlist> - De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option - n'est utile que sur les systèmes qui font la différence entre - les fichiers binaires et les fichiers textes (en bref, c'est une - fonctionnalité Windows, totalement inutile sous Unix). - S'il n'est pas nécessaire, il sera ignoré. - </para> - <para> - Vous pouvez utiliser le troisième paramètre optionnel - pour explorer le dossier <link linkend="ini.include-path">include_path</link>, - en le mettant à 1. - </para> - <para> - <example> - <title>Exemple avec <function>fopen</function></title> - <programlisting role="php"> -<?php - $fp = fopen("/home/rasmus/file.txt", "r"); - $fp = fopen("http://www.php.net/", "r"); - $fp = fopen("ftp://user:password@example.com/", "w"); -?> - </programlisting> - </example> - </para> - <simpara> - Si vous rencontrez des problèmes en lecture ou écriture - de fichier et que vous utilisez PHP en version module de serveur, - n'oubliez pas que les fichiers auxquels vous accédez ne sont - pas nécessairement accessibles au processus serveur. - </simpara> - <para> - Sous Windows, assurez-vous de bien échapper les anti-slash - utilisés dans le chemin du fichier, ou bien utilisez des slash. - <informalexample> - <programlisting role="php"> -<?php - $fp = fopen("c:\\data\\info.txt", "r"); -?> - </programlisting> - </informalexample> - </para> - <simpara> - Voir aussi - <function>fclose</function>, - <function>fsockopen</function>, - <function>socket_set_timeout</function> et - <function>popen</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fpassthru"> - <refnamediv> - <refname>fpassthru</refname> - <refpurpose> - Affiche la partie du fichier située après le pointeur du fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fpassthru</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fpassthru</function> lit tout le reste d'un fichier - jusqu'à la fin, et dirige le résultat vers la sortie standard. - </simpara> - <simpara> - Si une erreur survient, <function>fpassthru</function> retourne &false;. - </simpara> - <simpara> - Le pointeur de fichier doit être valide, et doit avoir été - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. Après lecture, - <function>fpassthru</function> va fermer le fichier (le pointeur - <parameter>fp</parameter> sera alors invalide). - </simpara> - <simpara> - Si vous voulez simplement afficher le contenu d'un fichier, il - suffit d'utiliser <function>readfile</function>, ce qui épargnera - l'appel à <function>fopen</function>. - </simpara> - <simpara> - Voir aussi - <function>readfile</function>, - <function>fopen</function>, - <function>popen</function> et - <function>fsockopen</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fputs"> - <refnamediv> - <refname>fputs</refname> - <refpurpose>Ecrit dans un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fputs</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>string <parameter>str</parameter></paramdef> - <paramdef>int - <parameter> - <optional>length</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fputs</function> est un alias de <function>fwrite</function>, - et lui est identique en tous points. Notez que - <parameter>length</parameter> est un paramètre optionnel, - et s'il n'est pas spécifié, toute la chaîne - est écrite. - </para> - </refsect1> - </refentry> - <refentry id="function.fread"> - <refnamediv> - <refname>fread</refname> - <refpurpose>Lecture du fichier en mode binaire.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>fread</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>length</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fread</function> lit jusqu'à <parameter>length</parameter> - octets dans le fichier reférencé par <parameter>fp</parameter>. - La lecture s'arrête lorsque <parameter>length</parameter> octets - ont été lus, ou que l'on a atteint la fin du fichier, ou - qu'une erreur survient (le premier des trois). - </simpara> - <para> - <informalexample> - <programlisting role="php"> -<?php -// Lit un fichier, et le place dans une chaîne - $filename = "/usr/local/quelquechose.txt"; - $fd = fopen($filename, "r"); - $contents = fread($fd, filesize ($filename)); - fclose($fd); -?> - </programlisting> - </informalexample> - </para> - <note> - <para> - Sur les systèmes qui différencient les fichiers - textes et binaires (i.e. Windows) le fichier doit être - ouvert avec la lettre 'b' ajoutée au paramètre - de mode de la fonction <function>fopen</function>. - </para> - </note> - <note> - <para> - <informalexample> - <programlisting role="php"> -<?php - $filename = "c:\\fichiers\\uneimage.gif"; - $fd = fopen($filename, "rb"); - $contents = fread($fd, filesize ($filename)); - fclose($fd); -?> - </programlisting> - </informalexample> - </para> - </note> - <simpara> - Voir aussi - <function>fwrite</function>, - <function>fopen</function>, - <function>fsockopen</function>, - <function>popen</function>, - <function>fgets</function>, - <function>fgetss</function>, - <function>file</function> et - <function>fpassthru</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fscanf"> - <refnamediv> - <refname>fscanf</refname> - <refpurpose>Analyse un fichier en fonction d'un format</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>mixed <function>fscanf</function></funcdef> - <paramdef>int <parameter>handle</parameter></paramdef> - <paramdef>string <parameter>format</parameter></paramdef> - <paramdef>string - <parameter><optional>var1</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fscanf</function> est similaire à - <function>sscanf</function>, mais elle prend comme - entrée un fichier, associé à - <parameter>handle</parameter> et l'interprète en - fonction du format <parameter>format</parameter>. Si - seulement deux paramètres sont passés - à la fonction, les valeurs analysées seront - retournées sous forme de tableau. Si des arguments - optionnels sont passés, la fonction retournera le - nombre de valeurs assignées. Les options doivent - être passées par référence. - <example> - <title>Exemple <function>fscanf</function></title> - <programlisting role="php"> -<?php - $fp = fopen ("users.txt","r"); - while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) { - list ($name, $profession, $countrycode) = $userinfo; - //... traitement des données - } - fclose($fp); -?> - </programlisting> - </example> - <example> - <title>users.txt</title> - <programlisting role="txt"> -janus argonaute gr -rodin sculpteur fr -sam oncle us -leonard inventeur it - </programlisting> - </example> - </para> - <para> - Voir aussi - <function>fread</function>, - <function>fgets</function>, - <function>fgetss</function>, - <function>sscanf</function>, - <function>printf</function> et - <function>sprintf</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fseek"> - <refnamediv> - <refname>fseek</refname> - <refpurpose>Modifie le pointeur de fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fseek</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fseek</function> modifie le curseur de position - dans le fichier <parameter>fp</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>. Ce paramètre - peut prendre les valeurs suivantes : - <simplelist> - <member> - SEEK_SET - La position finale vaut <parameter>offset</parameter> octets. - </member> - <member> - SEEK_CUR - La position finale vaut la position courante - ajoutée à <parameter>offset</parameter> octets. - </member> - <member> - SEEK_END - La position finale vaut la position courante par rapport à - la fin du fichier, ajoutée de <parameter>offset</parameter>. - </member> - </simplelist> - </para> - <para> - Si <parameter>whence</parameter> n'est pas spécifiée, il - vaut par défaut SEEK_SET. - </para> - <para> - <function>fseek</function> retourne &true; en cas de - succès, et sinon -1. Notez que positionner le pointeur au - delà de la fin du fichier n'est pas une erreur. - </para> - <para> - <function>fseek</function> ne peut pas être utilisé sur les pointeurs - retournés par <function>fopen</function> s'ils sont au format HTTP ou FTP. - </para> - <para> - Voir aussi - <function>ftell</function> et - <function>rewind</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.fstat"> - <refnamediv> - <refname>fstat</refname> - <refpurpose> - Lit les informations sur un fichier à partir d'un pointeur de fichier - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>fstat</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>fstat</function> rassemble les informations sur le fichier dont on - connaît le pointeur <parameter>fp</parameter>. <function>fstat</function> - est similaire à la fonction <function>stat</function>, hormis - le fait qu'elle utilise un pointeur de fichier, au lieu d'un nom de fichier. - </para> - <para> - <function>fstat</function> retourne un tableau avec les éléments suivants : - <itemizedlist> - <listitem><simpara>1 : volume </simpara></listitem> - <listitem><simpara>2 : inode</simpara></listitem> - <listitem><simpara>3 : mode de protection du inode </simpara></listitem> - <listitem><simpara>4 : nombre de liens </simpara></listitem> - <listitem><simpara>5 : id de l'utilisateur propriétaire </simpara></listitem> - <listitem><simpara>6 : id du groupe propriétaire</simpara></listitem> - <listitem><simpara>7 : type du volume de l'inode * </simpara></listitem> - <listitem><simpara>8 : taille en octets </simpara></listitem> - <listitem><simpara>9 : date du dernier accès </simpara></listitem> - <listitem><simpara>10 : date de la dernière modification </simpara></listitem> - <listitem><simpara>11 : date du dernier changement </simpara></listitem> - <listitem><simpara>12 : taille de bloc du système pour les entrées/sorties(*)</simpara></listitem> - <listitem><simpara>13 : Nombre de blocs alloués</simpara></listitem> - </itemizedlist> - * - uniquement sur les systèmes qui supportent le type st_blksize. - Les autres systèmes (i.e. Windows) retournent -1. - </para> - <para> - Les résultats de <function>fstat</function> sont mis en cache. - Reportez-vous à la fonction <function>clearstatcache</function> - pour plus de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.ftell"> - <refnamediv> - <refname>ftell</refname> - <refpurpose>Renvoie la position du pointeur du fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ftell</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ftell</function> retourne la position courante du pointeur dans le - fichier repéré par le pointeur <parameter>fp</parameter>, i.e., - son offset. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function> ou <function>popen</function>. - </para> - <para> - Voir aussi - <function>fopen</function>, - <function>popen</function>, - <function>fseek</function> et - <function>rewind</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ftruncate"> - <refnamediv> - <refname>ftruncate</refname> - <refpurpose>Tronque un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ftruncate</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ftruncate</function> prend le pointeur de fichier - <parameter>fp</parameter> et le tronque à la taille de - <parameter>size</parameter>.<function>ftruncate</function> retourne - &true; en cas de succès, et - &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.fwrite"> - <refnamediv> - <refname>fwrite</refname> - <refpurpose>Ecriture du fichier en mode binaire.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>fwrite</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>string <parameter>string</parameter></paramdef> - <paramdef>int - <parameter> - <optional>length</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>fwrite</function> écrit le contenu de la chaîne - <parameter>string</parameter> dans le fichier pointé par - <parameter>fp</parameter>. Si la longueur <parameter>length</parameter> - est fournie, l'écriture s'arrêtera après - <parameter>length</parameter> octets, ou à la fin de la - chaîne (le premier des deux). - </simpara> - <simpara> - Notez que si <parameter>length</parameter> est fourni, alors l'option de - configuration <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link> - sera ignorée, et les slash seront conservés. - </simpara> - <note> - <para> - De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option - n'est utile que sur les systèmes qui font la différence entre - les fichiers binaires et les fichiers textes (en bref, c'est une - fonctionnalité Windows, totalement inutile sous Unix). - S'il n'est pas nécessaire, il sera ignoré. - </para> - </note> - <simpara> - Voir aussi - <function>fread</function>, - <function>fopen</function>, - <function>fsockopen</function>, - <function>popen</function> et - <function>fputs</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.set-file-buffer"> - <refnamediv> - <refname>set_file_buffer</refname> - <refpurpose> - Fixe la bufferisation de fichier - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>set_file_buffer</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - <paramdef>int <parameter>buffer</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - L'écriture de fichier avec <function>fwrite</function> utilise normalement - un buffer de 8K. Cela signifie que si deux processus essaient d'écrire - dans le même fichier, ils font une pause tous les 8ko pour laisser le temps - à l'autre d'écrire à son tour. - <function>set_file_buffer</function> permet de modifier la taille du buffer de - sortie pour le pointeur de fichier <parameter>fp</parameter> à - <parameter>buffer</parameter> octets. Si <parameter>buffer</parameter> vaut 0, - l'écriture se fera sans buffer. Cela force un processus à écrire - toutes ses données dans un fichier avant que les autres puissent y accéder. - </simpara> - <simpara> - <function>set_file_buffer</function> retourne 0 en cas de succès, ou - EOF si la requête ne peut pas être honorée. - </simpara> - <para> - L'exemple suivant montre comment utiliser la fonction - <function>set_file_buffer</function> pour créer un fichier - sans buffer. - <example> - <title>Exemple avec <function>set_file_buffer</function></title> - <programlisting role="php"> -<?php - $fp=fopen($file, "w"); - if($fp){ - set_file_buffer($fp, 0); - fputs($fp, $output); - fclose($fp); - } -?> - </programlisting> - </example> - </para> - <simpara> - Voir aussi - <function>fopen</function> et - <function>fwrite</function>. - </simpara> - </refsect1> - </refentry> - <refentry id="function.is-dir"> - <refnamediv> - <refname>is_dir</refname> - <refpurpose>Indique si le nom de fichier est un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_dir</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_dir</function> retourne &true; si - <parameter>filename</parameter> existe et est un dossier. - </para> - <para> - Le résultat de <function>is_dir</function> est mis en cache. Voir la fonction - <function>clearstatcache</function> pour plus de détails. - </para> - <simpara> - <function>is_dir</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_file</function> et - <function>is_link</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-executable"> - <refnamediv> - <refname>is_executable</refname> - <refpurpose>Indique si le fichier est exécutable.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_executable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_executable</function> retourne &true; si - <parameter>filename</parameter> existe et est exécutable. - </para> - <para> - Le résultat de <function>is_executable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_executable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_file</function> et - <function>is_link</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-file"> - <refnamediv> - <refname>is_file</refname> - <refpurpose> - Indique si le fichier est un véritable fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_file</function> retourne &true; si - <parameter>filename</parameter> existe et est un fichier - (et pas un dossier). - </para> - <para> - Le résultat de <function>is_file</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_file</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_dir</function> et - <function>is_link</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-link"> - <refnamediv> - <refname>is_link</refname> - <refpurpose> - Indique si le fichier est un lien symbolique. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_link</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_link</function> retourne &true; si - <parameter>filename</parameter> existe et est un lien symbolique. - </para> - <para> - Le résultat de <function>is_link</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_link</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_dir</function> et - <function>is_file</function>. - </para> - <note> - <simpara> - <function>is_link</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.is-readable"> - <refnamediv> - <refname>is_readable</refname> - <refpurpose>Indique un fichier est autorisé en lecture</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_readable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_readable</function> retourne &true; si - <parameter>filename</parameter> existe et est accessible en lecture. - </para> - <para> - N'oubliez pas que PHP accède aux fichiers avec les mêmes - autorisations que l'utilisateur qui fait tourner le serveur web - (souvent, c'est 'nobody', personne). - </para> - <para> - Le résultat de <function>is_readable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <simpara> - <function>is_readable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Voir aussi - <function>is_writable</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-writable"> - <refnamediv> - <refname>is_writable</refname> - <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_writable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_writable</function> retourne &true; si - <parameter>filename</parameter> existe et est accessible en écriture. - </para> - <para> - N'oubliez pas que PHP accède aux fichiers avec les mêmes - autorisations que l'utilisateur qui fait tourner le serveur web - (souvent, c'est 'nobody', personne). - </para> - <simpara> - <function>is_writable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent être accessibles par le système de fichier - du serveur. - </simpara> - <para> - Le résultat de <function>is_writable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - détails. - </para> - <para> - Voir aussi - <function>is_readable</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-writeable"> - <refnamediv> - <refname>is_writeable</refname> - <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_writeable</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_writeable</function> est un alias de <function>is_writable</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.is-uploaded-file"> - <refnamediv> - <refname>is_uploaded_file</refname> - <refpurpose> - Indique si le fichier a été téléchargé - par HTTP POST - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>is_uploaded_file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>is_uploaded_file</function> est disponible à partir des - versions PHP 3.0.16 et 4.0.2. - </para> - <para> - <function>is_uploaded_file</function> retourne &true; si le fichier - <varname>filename</varname> a été téléchargé - par HTTP POST. Cela est très utile pour vous assurer qu'un - utilisateur n'essaie pas d'accéder intentionnellement à - un fichier auquel il n'a pas droit (comme <filename>/etc/passwd</filename>). - </para> - <para> - Ce type de vérification est spécialement important s'il est - possible que les fichiers téléchargés - révélent leur contenu à l'utilisateur, ou - même aux utilisateurs du même système. - </para> - <para> - Voir aussi - <function>move_uploaded_file</function>, et - la section - <link linkend="features.file-upload">Chargement de fichier</link> - pour un exemple simple. - </para> - </refsect1> - </refentry> - <refentry id="function.link"> - <refnamediv> - <refname>link</refname> - <refpurpose>Crée un lien.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>link</function></funcdef> - <paramdef>string <parameter>target</parameter></paramdef> - <paramdef>string <parameter>link</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>link</function> crée un lien. - </para> - <para> - Voir aussi - <function>symlink</function> pour créer des liens - symboliques et - <function>readlink</function> avec <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>link</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.linkinfo"> - <refnamediv> - <refname>linkinfo</refname> - <refpurpose>Renvoie les informations à propos d'un lien.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>linkinfo</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>linkinfo</function> renvoie les informations à propos - d'un lien, c'est-à-dire le champs st_dev de la structure d'information UNIX - (comme en langage C). <function>linkinfo</function> sert à vérifier - si un lien (repéré par <parameter>path</parameter>) - existe (en utilisant la même méthode que la macro - S_ISLNK de stat.h). <function>linkinfo</function> retourne - &false; en cas d'erreur. - </para> - <para> - Voir aussi - <function>symlink</function>, - <function>link</function> et - <function>readlink</function>. - </para> - <note> - <simpara> - <function>linkinfo</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.mkdir"> - <refnamediv> - <refname>mkdir</refname> - <refpurpose>Crée un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>mkdir</function></funcdef> - <paramdef>string <parameter>pathname</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>mkdir</function> tente de créer un dossier dans - le chemin <parameter>pathname</parameter>. - </para> - <para> - Notez que vous aurez à préciser le mode en base octale, - ce qui signifie que vous aurez probablement un 0 comme premier chiffre. - Le mode sera aussi modifié par le umask courant, que vous pouvez - modifier avec la fonction <function>umask</function>. - <informalexample> - <programlisting role="php"> -<?php - mkdir ("/chemin/de/mon/dossier", 0700); -?> - </programlisting> - </informalexample> - </para> - <para> - <function>mkdir</function> retourne &true; en cas de - succès, et &false; en cas d'échec. - </para> - <para> - Voir aussi - <function>rmdir</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.move-uploaded-file"> - <refnamediv> - <refname>move_uploaded_file</refname> - <refpurpose>Déplace un fichier téléchargé.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>move_uploaded_file</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>string <parameter>destination</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>move_uploaded_file</function> est disponible à partir - des versions PHP 3.0.16 et 4.0.2. - </para> - <para> - <function>move_uploaded_file</function> s'assure que le fichier - <parameter>filename</parameter> est un fichier téléchargé - par HTTP POST. Si le fichier est valide, il est déplacé - jusqu'à <parameter>destination</parameter>. - </para> - <para> - Si <parameter>filename</parameter> n'est pas valide, rien ne se passe, - et <function>move_uploaded_file</function> retournera &false;. - </para> - <para> - Si <parameter>filename</parameter> est un fichier - téléchargé, mais que pour une raison - quelconque, il ne peut être déplacé, rien ne se passe, - et <function>move_uploaded_file</function> retourne &false;. - De plus, une alerte sera affichée. - </para> - <para> - Ce type de vérification est spécialement important s'il - est possible que les fichiers téléchargés - révèlent leur contenu à l'utilisateur, - ou même aux utilisateurs du même système. - </para> - <para> - Voir aussi - <function>move_uploaded_file</function> et - la section <link linkend="features.file-upload">Chargement de fichier</link> - pour un exemple simple. - </para> - </refsect1> - </refentry> - <refentry id="function.pathinfo"> - <refnamediv> - <refname>pathinfo</refname> - <refpurpose>Retourne des informations sur un chemin système</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>pathinfo</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>pathinfo</function> retourne un tableau associatif, - contenant les informations sur le chemin <parameter>path</parameter>. - Les éléments suivants sont retournés : - <parameter>dirname</parameter>, <parameter>basename</parameter> - et <parameter>extension</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>pathinfo</function></title> - <programlisting role="php"> -<?php - $path_parts = pathinfo("/www/htdocs/index.html"); - echo $path_parts["dirname"] . "\n"; - echo $path_parts["basename"] . "\n"; - echo $path_parts["extension"] . "\n"; -?> - </programlisting> - </example> - </para> - <para> - Va afficher : - <informalexample> - <programlisting> -/www/htdocs -index.html -html - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>dirname</function>, - <function>basename</function> et - <function>realpath</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.pclose"> - <refnamediv> - <refname>pclose</refname> - <refpurpose>Ferme un processus de pointeur de fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>pclose</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>pclose</function> ferme un processus de pointeur de fichier ouvert par - <function>popen</function>. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir - été ouvert correctement par <function>popen</function>. - </para> - <para> - <function>pclose</function> retourne le statut final du processus - exécuté. - </para> - <para> - Voir aussi - <function>popen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.popen"> - <refnamediv> - <refname>popen</refname> - <refpurpose>Crée un processus de pointeur de fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>popen</function></funcdef> - <paramdef>string <parameter>commet</parameter></paramdef> - <paramdef>string <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>popen</function> ouvre un processus fils en faisant un fork de la - commande. - </para> - <para> - <function>popen</function> retourne un pointeur de fichier - identique à celui retourné par <function>fopen</function>, - hormis le fait qu'il sera unidirectionnel (lecture seule, ou - écriture seule), et doit être terminé par - <function>pclose</function>. Ce pointeur peut être utilisé - avec <function>fgets</function>, <function>fgetss</function> et - <function>fputs</function>. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - <informalexample> - <programlisting role="php"> -<?php - $fp = popen("/bin/ls", "r"); -?> - </programlisting> - </informalexample> - </para> - <para> - Voir aussi - <function>pclose</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.readfile"> - <refnamediv> - <refname>readfile</refname> - <refpurpose>Affiche un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>readfile</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int - <parameter> - <optional>use_include_path</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>readfile</function> lit le fichier <parameter>filename</parameter> et - l'envoit à la sortie standard. - </para> - <para> - <function>readfile</function> retourne le nombre d'octets lus depuis le fichier. - Si une erreur survient, retourne &false;. - </para> - <para> - Si <parameter>filename</parameter> commence par "http://" (insensible - à la casse), une connexion HTTP 1.0 sera ouverte avec le serveur - spécifié, et le texte de la réponse sera affiché - sur la sortie standard. - </para> - <simpara> - Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, - ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier. - </simpara> - <para> - Si <parameter>filename</parameter> commence par "ftp://" (insensible - à la casse), une connexion FTP est ouverte avec l'hôte - spécifié et la réponse du serveur est affichée. - Si le serveur ne supporte les connexions passives, la requête - échouera. - </para> - <para> - Si <parameter>filename</parameter> ne commence par aucun des cas - précédents, le fichier sera ouvert sur l'hôte - local, et envoyé à la sortie standard. - </para> - <para> - Vous pouvez utiliser le deuxième paramètre optionnel - pour explorer le dossier <link linkend="ini.include-path">include_path</link>, - en passant la valeur de 1. - </para> - <para> - Voir aussi - <function>fpassthru</function>, - <function>file</function>, - <function>fopen</function>, - <function>include</function>, - <function>require</function> et - <function>virtual</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.readlink"> - <refnamediv> - <refname>readlink</refname> - <refpurpose> - Renvoie le nom du fichier vers lequel pointe un lien symbolique. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>readlink</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>readlink</function> fait la même chose que la fonction - readlink en C : elle retourne le contenu du lien symbolique - repéré par <parameter>path</parameter>, - ou &false; en cas d'erreur. - </para> - <para> - Voir aussi - <function>symlink</function>, - <function>readlink</function> et - <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>readlink</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.rename"> - <refnamediv> - <refname>rename</refname> - <refpurpose>Renomme un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>rename</function></funcdef> - <paramdef>string <parameter>oldname</parameter></paramdef> - <paramdef>string <parameter>newname</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rename</function> rente de renommer le fichier - <parameter>oldname</parameter> en <parameter>newname</parameter>. - </para> - <para> - <function>rename</function> retourne &true; en cas de succès - et &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.rewind"> - <refnamediv> - <refname>rewind</refname> - <refpurpose>Replace le pointeur de fichier au début.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>rewind</function></funcdef> - <paramdef>int <parameter>fp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rewind</function> replace le pointeur du fichier - <parameter>fp</parameter> au début. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - Le pointeur de fichier doit être valide, et avoir été - correctement ouvert par <function>fopen</function>. - </para> - <para> - Voir aussi - <function>fseek</function> et - <function>ftell</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.rmdir"> - <refnamediv> - <refname>rmdir</refname> - <refpurpose>Efface un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>rmdir</function></funcdef> - <paramdef>string <parameter>dirname</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>rmdir</function> tente d'effacer le dossier dont le chemin est - <parameter>dirname</parameter>. Le dossier doit être vide, - et le script doit avoir les autorisations adéquates. - </para> - <para> - Si une erreur survient, <function>rmdir</function> retourne &false;. - </para> - <para> - Voir aussi - <function>mkdir</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.stat"> - <refnamediv> - <refname>stat</refname> - <refpurpose>Renvoie les informations à propos d'un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>stat</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>stat</function> renvoie les informations à propos du - fichier filename. - </para> - <para> - <function>stat</function> retourne un tableau avec les éléments suivants : - <itemizedlist> - <listitem><simpara>0 : volume </simpara></listitem> - <listitem><simpara>1 : inode</simpara></listitem> - <listitem> - <simpara> - 2 : droits d'accès au fichier (mode de protection du inode). - A convertir en octal. Voir aussi <function>fileperms</function>. - </simpara> - </listitem> - <listitem><simpara>3 : nombre de liens </simpara></listitem> - <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> - <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> - <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> - <listitem><simpara>7 : taille en octets </simpara></listitem> - <listitem><simpara>8 : date du dernier accès </simpara></listitem> - <listitem><simpara>9 : date de la dernière modification </simpara></listitem> - <listitem><simpara>10 : date du dernier changement </simpara></listitem> - <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> - <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> - </itemizedlist> - * - uniquement sur les systèmes qui supportent le type st_blksize. - Les autres systèmes (i.e. Windows) retournent -1. - </para> - <para> - <function>stat</function> retourne &false; en cas d'erreur. - </para> - <para> - <function>stat</function> ne gère pas les URL comme peut le - faire <function>fopen</function>. - </para> - <para> - Les résultats de <function>stat</function> sont mis en cache. - Reportez-vous à la fonction <function>clearstatcache</function> pour - plus de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.lstat"> - <refnamediv> - <refname>lstat</refname> - <refpurpose> - Renvoie les informations à propos d'un fichier ou d'un lien symbolique. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>lstat</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>lstat</function> est identique à <function>stat</function> - mais elle accepte aussi un lien symbolique comme argument. - </para> - <para> - <function>lstat</function> retourne un tableau avec les éléments suivants : - <itemizedlist> - <listitem><simpara>0 : volume </simpara></listitem> - <listitem><simpara>1 : inode</simpara></listitem> - <listitem> - <simpara> - 2 : droits d'accès au fichier (mode de protection du inode). - A convertir en octal. Voir aussi <function>fileperms</function>. - </simpara> - </listitem> - <listitem><simpara>3 : nombre de liens </simpara></listitem> - <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> - <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> - <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> - <listitem><simpara>7 : taille en octets </simpara></listitem> - <listitem><simpara>8 : date du dernier accès </simpara></listitem> - <listitem><simpara>9 : date de la dernière modification </simpara></listitem> - <listitem><simpara>10 : date du dernier changement </simpara></listitem> - <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> - <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> - </itemizedlist> - * - uniquement sur les systèmes qui supportent le type st_blksize. - Les autres systèmes (i.e. Windows) retournent -1. - </para> - <para> - Les résultats de <function>lstat</function> sont mis en cache. - Reportez-vous à la fonction <function>clearstatcache</function> - pour plus de détails. - </para> - </refsect1> - </refentry> - <refentry id="function.realpath"> - <refnamediv> - <refname>realpath</refname> - <refpurpose>Retourne le chemin canonique absolu.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>realpath</function></funcdef> - <paramdef>string <parameter>path</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>realpath</function> résoud tous les liens symboliques, et - remplace toutes les références '/./', '/../' et '/' de - <parameter>path</parameter> puis retourne le chemin canonique absolu - ainsi trouvé. Le résultat ne contient aucun lien symbolique, - '/./' ou '/../'. - </para> - <para> - <example> - <title>Exemple <function>realpath</function></title> - <programlisting role="php"> -<?php - $real_path = realpath("../../index.php"); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.symlink"> - <refnamediv> - <refname>symlink</refname> - <refpurpose>Crée un lien symbolique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>symlink</function></funcdef> - <paramdef>string <parameter>target</parameter></paramdef> - <paramdef>string <parameter>link</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>symlink</function> crée un lien symbolique pour l'objet - <parameter>target</parameter> avec le nom de <parameter>link</parameter>. - </para> - <para> - Voir aussi - <function>link</function> pour créer des liens durs et - <function>readlink</function> ainsi que <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>symlink</function> est inopérante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.tempnam"> - <refnamediv> - <refname>tempnam</refname> - <refpurpose>Crée un fichier avec un nom unique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>tempnam</function></funcdef> - <paramdef>string <parameter>dir</parameter></paramdef> - <paramdef>string <parameter>prefix</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>tempnam</function> crée un fichier temporaire unique - dans le dossier <parameter>dir</parameter>. Si le dossier n'existe pas, - <function>tempnam</function> va générer un nom de fichier - dans le dossier temporaire du système. - </para> - <para> - Avant PHP 4.0.6, le comportement de <function>tempnam</function> dépendait - de l'OS sous-jacent. Sous Windows, la variable d'environnement - TMP remplace le paramètre <parameter>dir</parameter>; sous Linux, la - variable d'environnement TMPDIR a la priorité, tandis que pour les - OS en système V R4, le paramètre <parameter>dir</parameter> sera toujours - utilisé, si le dossier qu'il représente existe. Consultez votre - documentation pour plus de détails. - </para> - <para> - <function>tempnam</function> retourne le nom du fichier temporaire, ou - la chaîne &null; en cas d'échec. - <example> - <title>Exemple avec <function>tempnam</function></title> - <programlisting role="php"> -<?php - $tmpfname = tempnam("/tmp", "FOO"); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.tmpfile"> - <refnamediv> - <refname>tmpfile</refname> - <refpurpose>Crée un fichier temporaire</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>tmpfile</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>tmpfile</function> crée un fichier temporaire - avec un nom unique, ouvert en écriture, et retourne un - pointeur de fichier, identique à ceux retournés par - <function>fopen</function>. - Ce fichier sera automatiquement effacé lorsqu'il sera - fermé (avec <function>fclose</function>), ou lorsque le script - sera terminé. - </para> - <para> - Pour plus de détails, consultez votre documentation système - sur la fonction <literal>tmpfile(3)</literal>, et sur - <filename>stdio.h</filename>. - </para> - <para> - Voir aussi - <function>tempnam</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.touch"> - <refnamediv> - <refname>touch</refname> - <refpurpose> - Affecte une nouvelle date de modification à un fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>touch</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>int <parameter>time</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>touch</function> tente de forcer la date de modification du fichier - nommé <parameter>filename</parameter> à la date de - <parameter>time</parameter>. Si <parameter>time</parameter> est omis, - c'est l'heure courante qui est utilisée. - </para> - <para> - Si le fichier n'existe pas, il est créé. - </para> - <para> - <function>touch</function> retourne &true; en cas de succès, - et &false; sinon. - <example> - <title>Exemple avec <function>touch</function></title> - <programlisting role="php"> -if ( touch($NomDeFichier) ) { - print "La date de modification de $NomDeFichier a été fixée à maintenant"; -} else { - print "Désolé, il est impossible de changer la date de modification de $NomDeFichier"; -} - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.umask"> - <refnamediv> - <refname>umask</refname> - <refpurpose>Change le "umask" courant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>umask</function></funcdef> - <paramdef>int <parameter>mask</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>umask</function> change le umask de PHP : mask & 0777 et retourne le - vieux umask. Lorsque PHP est utilisé comme module de serveur, - le umask reprend sa valeur à la fin de chaque script. - </para> - <para> - <function>umask</function> appelé sans argument retourne simplement le - umask courant. - </para> - </refsect1> - </refentry> - <refentry id="function.unlink"> - <refnamediv> - <refname>unlink</refname> - <refpurpose>Efface un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>unlink</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>unlink</function> efface <parameter>filename</parameter>. - Identique à la fonction Unix C unlink(). - </para> - <para> - <function>unlink</function> retourne &false; en cas - d'échec. - </para> - <para> - Voir aussi - <function>rmdir</function> pour supprimer des dossiers. - </para> - <note> - <simpara> - <function>unlink</function> ne fonctionne pas sous Windows. - </simpara> - </note> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.26 $ --><reference id="ref.filesystem"> <title>Système de fichiers</title> <titleabbrev>Système de fichiers</titleabbrev> <refentry id="function.basename"> <refnamediv> <refname>basename</refname> <refpurpose> Sépare le nom du fichier et le nom du dossier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>basename</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> <paramdef>string <parameter><optional>suffix</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>basename</function> prend en paramètre le chemin complet d'un fichier et en extrait le nom du fichier. Si <optional>suffix</optional> est fourni, le suffixe sera aussi supprimé. </para> <para> Sous Windows, les caractères (<literal>/</literal>) et antislash (<literal>\</literal>) sont utilisés comme séparateurs de dossier. Sous les autres OS, seul le caractère slash (<literal>/</literal>) est utilisé. </para> <para> <example> <title>Exemple avec <function>basename</function></title> <programlisting role="php"><?php $path = "/home/httpd/html/index.php3"; $file = basename($path); // $file est affecté avec "index.php3"?> </programlisting> </example> </para> <para> Voir aussi <function>dirname</function>. </para> <note> <para> <parameter>suffix</parameter> a été ajouté en PHP 4.1.0. </para> </note> </refsect1> </refentry> <refentry id="function.chgrp"> <refnamediv> <refname>chgrp</refname> <refpurpose>Change le groupe possesseur du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chgrp</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>mixed <parameter>group</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chgrp</function> essaie de changer le groupe propriétaire du fichier. Seul le super-utilisateur (root) peut changer le groupe propriétaire d'un fichier arbitrairement. Les utilisateurs classiques ne peuvent changer le groupe propriétaire d'un fichier que si l'utilisateur propriétaire du fichier est membre du groupe. </para> <para> <function>chgrp</function> renvoie &true; en cas de succès, sinon renvoie &false;. </para> <para> Voir aussi <function>chown</function> et <function>chmod</function>. </para> <note> <simpara> <function>chgrp</function> ne fonctionne pas sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.chmod"> <refnamediv> <refname>chmod</refname> <refpurpose>Change le mode du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chmod</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chmod</function> remplace le mode du fichier <parameter>filename</parameter> par le mode <parameter>mode</parameter>. </para> <para> Il est à noter que le mode <parameter>mode</parameter> est considéré comme un nombre en notation octale. Afin de vous en assurer, vous pouvez préfixer cette valeur par un zéro (<parameter>mode</parameter>): <informalexample> <programlisting role="php"><?php chmod( "/somedir/somefile", 755 );// notation décimale; probablement <literal>FALSE</literal> chmod( "/somedir/somefile", 0755 );// notation octale; valeur du mode correcte?> </programlisting> </informalexample> </para> <para> <function>chmod</function> renvoie &true; en cas de succès, &false; sinon. </para> <para> Voir aussi <function>chown</function> et <function>chgrp</function>. </para> <note> <simpara> <function>chmod</function> ne fonctionne pas sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.chown"> <refnamediv> <refname>chown</refname> <refpurpose>Change le groupe propriétaire du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>chown</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>mixed <parameter>user</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>chown</function> change le groupe propriétaire du fichier. Seul le super-utilisateur (root) peut changer le propriétaire arbitrairement d'un fichier. </para> <para> <function>chown</function> renvoie &true; en cas de succès, "&false;" sinon. <note> <simpara> Sous Windows, <function>chown</function> ne fait rien et retourne &true;. </simpara> </note> </para> <para> Voir aussi <function>chown</function> et <function>chmod</function>. </para> <note> <simpara> <function>chown</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.clearstatcache"> <refnamediv> <refname>clearstatcache</refname> <refpurpose>Efface le cache de <function>stat</function></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>clearstatcache</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> L'appel à la fonction <systemitem>stat</systemitem> ou <systemitem>lstat</systemitem> est relativement coûteux en terme de temps d'exécution. Pour cela, le résultat du dernier appel à l'une des fonctions de statut, (voir la liste ci-dessous), est sauvegardé pour ré-utilisation ultérieure. Si vous voulez forcer la vérification du statut d'un fichier, dans le cas où le fichier aurait pu être modifié ou aurait disparu, vous devez utiliser la fonction <function>clearstatcache</function> afin d'effacer de la mémoire les résultats du dernier appel à la fonction. </para> <para> La valeur du cache n'est valable que pour la durée d'une requête. </para> <para> Les fonctions affectées sont : <function>stat</function>, <function>lstat</function>, <function>file_exists</function>, <function>is_writable</function>, <function>is_readable</function>, <function>is_executable</function>, <function>is_file</function>, <function>is_dir</function>, <function>is_link</function>, <function>filectime</function>, <function>fileatime</function>, <function>filemtime</function>, <function>fileinode</function>, <function>filegroup</function>, <function>fileowner</function>, <function>filesize</function>, <function>filetype</function>, et <function>fileperms</function>. </para> </refsect1> </refentry> <refentry id="function.copy"> <refnamediv> <refname>copy</refname> <refpurpose>Copie un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>copy</function></funcdef> <paramdef>string <parameter>source</parameter></paramdef> <paramdef>string <parameter>dest</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>copy</function> fait une copie du fichier. Elle renvoie &true; en cas de succès, &false; sinon. <example> <title>Exemple avec <function>copy</function></title> <programlisting role="php">if ( !copy($file, $file.'.bak') ) { print("La copie du fichier $file n'a pas réussi...<br>\n");} </programlisting> </example> </para> <para> Voir aussi <function>rename</function>. </para> </refsect1> </refentry> <refentry id="function.delete"> <refnamediv> <refname>delete</refname> <refpurpose>Effacer</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>delete</function></funcdef> <paramdef>string <parameter>file</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Ceci est une fausse entrée du manuel pour ceux qui recherchent en fait la fonction <function>unlink</function> ou <function>unset</function>. </para> <para> Voir aussi <function>unlink</function> pour effacer des fichiers et <function>unset</function> pour effacer des variables. </para> </refsect1> </refentry> <refentry id="function.dirname"> <refnamediv> <refname>dirname</refname> <refpurpose>Renvoie le nom du dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>dirname</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Si <parameter>path</parameter> contient le chemin d'un fichier ou dossier, <function>dirname</function> retournera le nom du dossier qui le contient. </para> <para> Sous Windows, les slash (<literal>/</literal>) et anti-slash (<literal>\</literal>) sont utilisés comme séparateurs de dossier. Dans les autres environnements, seul le slash (<literal>/</literal>) est utilisé. </para> <para> <example> <title>Exemple avec <function>dirname</function></title> <programlisting role="php"><?php $path = "/etc/passwd"; $file = dirname($path); // $file contient "/etc"?> </programlisting> </example> </para> <para> Voir aussi <function>basename</function>. </para> </refsect1> </refentry> <refentry id="function.disk_free_space"> <refnamediv> <refname>disk_free_space</refname> <refpurpose> Renvoie l'espace disque disponible dans le répertoire. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>disk_free_space</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>disk_free_space</function> retournera le nombre d'octets disponibles sur le disque correspondant contenant le dossier <parameter>directory</parameter>. </para> <para> <example> <title>Exemple avec <function>disk_free_space</function></title> <programlisting role="php"><?php $df = disk_free_space("/"); // $df contient le nombre d'octets libres sur "/"?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.diskfreespace"> <refnamediv> <refname>diskfreespace</refname> <refpurpose>Alias de <function>disk_free_space</function></refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>diskfreespace</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>diskfreespace</function> est l'ancien nom de la fonction <function>disk_free_space</function>. Elle est obsolète, et il est vivement recommandé d'utiliser <function>disk_free_space</function>. </para> </refsect1> </refentry> <refentry id="function.disk-total-space"> <refnamediv> <refname>disk_total_space</refname> <refpurpose>Retourne la taille d'un dossier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>float <function>disk_total_space</function></funcdef> <paramdef>string <parameter>directory</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>disk_total_space</function> lit récursivement toutes les tailles du dossier <parameter>directory</parameter> et retourne la somme. <parameter>directory</parameter> peut être aussi une partition de disque. </para> <para> <example> <title>Exemple avec <function>disk_total_space</function></title> <programlisting role="php"><?php $df = disk_total_space("/"); // $df contient le nombre d'octets libres // dans le dossier "/"?> </programlisting> </example> </para> ¬e.sm.uidcheck; </refsect1> </refentry> <refentry id="function.fclose"> <refnamediv> <refname>fclose</refname> <refpurpose>Ferme un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fclose</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fclose</function> ferme le fichier <parameter>fp</parameter>. </para> <para> <function>fclose</function> retourne &true; en cas de succès, et &false; en cas d'échec. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function> ou <function>fsockopen</function>. </para> </refsect1> </refentry> <refentry id="function.feof"> <refnamediv> <refname>feof</refname> <refpurpose>Teste la fin du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>feof</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>feof</function> retourne &true; si le pointeur <parameter>fp</parameter> est à la fin du fichier, ou si une erreur survient, sinon, retourne &false;. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </para> </refsect1> </refentry> <refentry id="function.fflush"> <refnamediv> <refname>fflush</refname> <refpurpose> Envoi tout le contenu généré dans un fichier </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fflush</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fflush</function> force l'écriture de toutes les données bufferisées dans le fichier désigné par <parameter>fp</parameter>. <function>fflush</function> retourne &true; en cas de succès, et &false; sinon. </para> <para> <parameter>fp</parameter> est un pointeur de fichier ouvert avec <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </para> </refsect1> </refentry> <refentry id="function.fgetc"> <refnamediv> <refname>fgetc</refname> <refpurpose> Renvoie le caractère que pointe le pointeur du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fgetc</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fgetc</function> retourne une chaîne contenant un seul caractère, lu depuis le fichier pointé par <parameter>fp</parameter>. <function>fgetc</function> retourne &false; à la fin du fichier (tout comme <function>feof</function>). </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </para> <para> Voir aussi <function>fread</function>, <function>fopen</function>, <function>popen</function>, <function>fsockopen</function> et <function>fgets</function>. </para> </refsect1> </refentry> <refentry id="function.fgetcsv"> <refnamediv> <refname>fgetcsv</refname> <refpurpose> Renvoie la ligne courante et cherche les champs CSV </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fgetcsv</function></funcdef> <paramdef>resource <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> <paramdef>string <parameter> <optional>delimiter</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> Identique à <function>fgets</function> mais <function>fgetcsv</function> analyse la ligne qu'il lit et recherche les champs CSV, qu'il va retourner dans un tableau les contenant. Le délimiteur de champs <parameter>delimiter</parameter> est la virgule, à moins que vous ne fournissiez un troisième argument. </simpara> <simpara> <parameter>fp</parameter> doit être un pointeur valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </simpara> <simpara> <parameter>length</parameter> doit être plus grand que la plus grande ligne trouvée dans un fichier CSV (en comptant les caractères de fin de ligne). </simpara> <simpara> <function>fgetcsv</function> retourne &false; en cas d'erreur, ou en cas de fin du fichier. </simpara> <simpara> Note : une ligne vide dans un fichier CSV sera retournée dans le tableau comme une chaîne vide, et ne sera pas traitée comme une erreur. </simpara> <example> <title> Exemple avec <function>fgetcsv</function> </title> <programlisting role="php"><?php $row = 1; $fp = fopen ("test.csv","r"); while ($data = fgetcsv ($fp, 1000, ",")) { $num = count ($data); print "<p> $num champs dans la ligne $row: <br>"; $row++; for ($c=0; $c<$num; $c++) { print $data[$c] . "<br>"; } } fclose ($fp);?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fgets"> <refnamediv> <refname>fgets</refname> <refpurpose> Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fgets</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fgets</function> retourne la chaîne lue jusqu'à la longueur <parameter>length</parameter> - 1 octet, ou bien la fin du fichier, ou encore un retour chariot (le premier des trois qui sera rencontré). </para> <para> Si une erreur survient, <function>fgets</function> retourne &false;. </para> <para> Erreur courante : </para> <simpara> Les programmeurs habitués à la programmation 'C' noteront que <function>fgets</function> ne se comporte pas comme son équivalent C lors de la rencontre de la fin du fichier. </simpara> <simpara> <parameter>fp</parameter> doit être valide, et avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </simpara> <para> Un exemple simple : <example> <title>Lecture d'un fichier ligne par ligne</title> <programlisting role="php"><?php $fd = fopen ("/tmp/inputfile.txt", "r"); while (!feof($fd)) { $buffer = fgets($fd, 4096); echo $buffer; } fclose ($fd);?> </programlisting> </example> </para> <para> Voir aussi <function>fread</function>, <function>fopen</function>, <function>popen</function>, <function>fgetc</function>, <function>fsockopen</function> et <function>socket_set_timeout</function>. </para> </refsect1> </refentry> <refentry id="function.fgetss"> <refnamediv> <refname>fgetss</refname> <refpurpose> Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier et élimine les balises HTML </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fgetss</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> <paramdef>string <parameter> <optional>allowable_tags</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Identique à <function>fgets</function>, mais <function>fgetss</function> supprime toutes les balises HTML et PHP qu'il trouve dans le texte lu. </para> <para> Vous pouvez aussi préciser les balises qui seront ignorées dans le troisième paramètre, optionnel. <note> <para> <parameter>allowable_tags</parameter> a été ajouté dans PHP 3.0.13, PHP 4B3. </para> </note> </para> <para> Voir aussi <function>fgets</function>, <function>fopen</function>, <function>fsockopen</function>, <function>popen</function> et <function>strip_tags</function>. </para> </refsect1> </refentry> <refentry id="function.file"> <refnamediv> <refname>file</refname> <refpurpose> Lit le fichier et renvoie le résultat dans un tableau. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter><optional>use_include_path</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Identique à <function>readfile</function>, hormis le fait que <function>file</function> retourne le fichier dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne. </para> <para> Vous pouvez utiliser l'option <parameter>use_include_path</parameter> : en la mettant à "1", vous rechercherez aussi dans le dossier <link linkend="ini.include-path">include_path</link>. </para> <para> <informalexample> <programlisting role="php"><?php// Lire une page web dans un tableau, et l'afficher $fcontents = file( 'http://www.php.net' ); while ( list( $numero_ligne, $ligne ) = each( $fcontents ) ) { echo "<B>Ligne $numero_ligne:</B> ".htmlspecialchars( $ligne ) . "<br>\n"; }// lire une page web dans une chaîne $fcontents = join( '', file( 'http://www.php.net' ) );?> </programlisting> </informalexample> </para> <para> Voir aussi <function>readfile</function>, <function>fopen</function>, <function>fsockopen</function> et <function>popen</function>. </para> </refsect1> </refentry> <refentry id="function.file-exists"> <refnamediv> <refname>file_exists</refname> <refpurpose>Vérifie si un fichier existe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>file_exists</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>file_exists</function> retourne &true; si le fichier <parameter>filename</parameter> existe, et &false; sinon. </simpara> <simpara> <function>file_exists</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <simpara> Le résultat de <function>file_exists</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </simpara> </refsect1> </refentry> <refentry id="function.fileatime"> <refnamediv> <refname>fileatime</refname> <refpurpose> Renvoie la date à laquelle le fichier a été accédé pour la dernière fois. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileatime</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fileatime</function> renvoie la date à laquelle le fichier a été accédé pour la dernière fois, ou &false; en cas d'erreur. </simpara> <simpara> <function>fileatime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <simpara> Le résultat de <function>fileatime</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </simpara> </refsect1> </refentry> <refentry id="function.filectime"> <refnamediv> <refname>filectime</refname> <refpurpose> Renvoie l'heure à laquelle l'inode a été accédé pour la dernière fois. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filectime</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filectime</function> renvoie l'heure à laquelle l'inode <parameter>filename</parameter> a été accédé pour la dernière fois, ou &false; en cas d'erreur. </para> <simpara> <function>filectime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Note: Sur la plupart des serveurs UNIX, un fichier est considéré comme modifié si les données de son inode sont modifiées. C'est-à-dire lorsque les permissions (utilisateur, groupe ou autre) ont été modifiées. Voyez aussi <function>filemtime</function> (que vous pourrez utiliser lorsque vous créerez des indications telles que "Dernière modification : " sur les pages web) et <function>fileatime</function>. </para> <para> Notez aussi que sur certains systèmes UNIX, le ctime d'un fichier texte est considéré comme sa date de création. Cela est faux! Il n'y a pas de date de création de fichier sous la plupart des systèmes UNIX. </para> <para> Le résultat de <function>filectime</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.filegroup"> <refnamediv> <refname>filegroup</refname> <refpurpose>Lire le nom du groupe</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filegroup</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filegroup</function> renvoie le groupe qui possède le fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. L'identifiant de groupe est retourné au format numérique, utilisez <function>posix_getgrgid</function> pour retrouver le nom du groupe. </para> <simpara> <function>filegroup</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>filegroup</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <note> <simpara> <function>filegroup</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.fileinode"> <refnamediv> <refname>fileinode</refname> <refpurpose>Renvoie le numéro d'inode du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileinode</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fileinode</function> renvoie le numéro d'inode du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <para> Le résultat de <function>fileinode</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>fileinode</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <note> <simpara> <function>fileinode</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.filemtime"> <refnamediv> <refname>filemtime</refname> <refpurpose> Renvoie la date de dernière modification du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filemtime</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filemtime</function> renvoie la date de dernière modification du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <para> Le résultat de <function>filemtime</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>filemtime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> <function>filemtime</function> retourne l'heure d'écriture des blocs données d'un fichier. Utilisez <function>date</function> sur ce résultat pour obtenir une date de modification humainement lisible. </para> </refsect1> </refentry> <refentry id="function.fileowner"> <refnamediv> <refname>fileowner</refname> <refpurpose>Renvoie le nom du propriétaire du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileowner</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fileowner</function> renvoie le nom du possesseur du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. L'identification du possesseur de fichier est numérique : il faut utiliser <function>posix_getpwuid</function> pour retrouver le nom d'utilisateur. </para> <simpara> <function>fileowner</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>fileowner</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> <note> <simpara> <function>fileowner</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.fileperms"> <refnamediv> <refname>fileperms</refname> <refpurpose> Renvoie les permissions affectées au fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fileperms</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fileperms</function> renvoie les permissions affectées au fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <simpara> <function>fileperms</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>fileperms</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.filesize"> <refnamediv> <refname>filesize</refname> <refpurpose>Renvoie la taille du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>filesize</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filesize</function> renvoie la taille du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <simpara> <function>filesize</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>filesize</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.filetype"> <refnamediv> <refname>filetype</refname> <refpurpose>Retourne le type de fichier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>filetype</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>filetype</function> renvoie le type du fichier <parameter>filename</parameter>. Les réponses possibles sont : fifo, char, dir, block, link, file, et unknown. </para> <para> <function>filetype</function> retourne &false; en cas d'erreur. </para> <simpara> <function>filetype</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>filetype</function> est mis en cache. Reportez-vous à <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.flock"> <refnamediv> <refname>flock</refname> <refpurpose>Verrouille le fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>flock</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>operation</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> PHP dispose d'un système complet de verrouillage de fichiers. Tous les programmes qui accèdent au fichier doivent utiliser la même méthode de verrouillage pour qu'il soit efficace. </simpara> <simpara> <function>flock</function> agit sur le fichier <parameter>fp</parameter> qui doit avoir été ouvert au préalable. <parameter>operation</parameter> est une des valeurs suivantes : </simpara> <para> <itemizedlist> <listitem> <simpara> Acquisition d'un verrou : <parameter>operation</parameter> = 1. </simpara> </listitem> <listitem> <simpara> Acquisition d'un verrou exclusif (écriture), <parameter>operation</parameter> = 2. </simpara> </listitem> <listitem> <simpara> Libération d'un verrou (partagé ou exclusif), <parameter>operation</parameter> = 3. </simpara> </listitem> <listitem> <simpara> Si vous voulez que <function>flock</function> ne se bloque pas durant le verrouillage, ajoutez 4 à <parameter>operation</parameter>. </simpara> </listitem> </itemizedlist> </para> <simpara> <function>flock</function> permet de réaliser un système simple de verrous écriture / lecture, qui peut être utilisé sur n'importe quelle plate-forme (Unix et Windows compris). </simpara> <simpara> <function>flock</function> retourne &true; en cas de succès, et &false; sinon. (le verrou n'a pas pu être obtenu). </simpara> <warning> <para> Sur la plupart des OS, <function>flock</function> est implémenté au niveau processus. Lors de l'utilisation des API d'un serveur multi-thread, comme ISAPI, vous ne pouvez pas vous fier à <function>flock</function> pour protéger vos fichiers contre des accès concurrents du même serveur. </para> </warning> </refsect1> </refentry> <refentry id="function.fopen"> <refnamediv> <refname>fopen</refname> <refpurpose>Ouverture d'un fichier ou d'une URL.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fopen</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>string <parameter>mode</parameter></paramdef> <paramdef>int <parameter> <optional>use_include_path</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> Si <parameter>filename</parameter> commence par "http://" (insensible à la casse), une connexion HTTP 1.x est ouverte avec le serveur spécifié, et un pointeur sur la réponse fournie est retourné. Une en-tête '<literal>Host:</literal>' est envoyé avec la requête, afin de gérer les virtual hosts basés sur les noms. </simpara> <simpara> Notez que le pointeur de fichier retourné représente le corps de la réponse, et qu'il n'est pas possible d'accéder aux en-têtes HTTP avec cette fonction. </simpara> <simpara> Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier. </simpara> <simpara> Si <parameter>filename</parameter> commence par "ftp://" (insensible à la casse), une connexion FTP est ouverte avec le serveur spécifié, et un pointeur sur la réponse fournie est retourné. Si le serveur ne supporte par le mode FTP passif, <function>fopen</function> échouera. Vous pouvez ouvrir des fichiers en lecture seulement, ou en écriture seulement (le full duplex n'est pas supporté). </simpara> <simpara> Si <parameter>filename</parameter> commence par "php://stdin", "php://stdout", ou "php://stderr", le flot correspondant sera ouvert. (Cela a été introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" ou "/dev/fd/0" devaient être utilisés pour accéder à ces flots). </simpara> <simpara> Si <parameter>filename</parameter> commence par n'importe quoi d'autre, PHP tentera de lire ce fichier dans le système local, et un pointeur sur le fichier ouvert sera retourné. </simpara> <simpara> Si l'ouverture échoue, <function>fopen</function> retourne &false;. </simpara> <para> <parameter>mode</parameter> peut prendre les valeurs suivantes : <itemizedlist> <listitem> <simpara> 'r' - Ouvre en lecture seule, et place le pointeur de fichier au début du fichier. </simpara> </listitem> <listitem> <simpara> 'r+' - Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier. </simpara> </listitem> <listitem> <simpara> 'w' - Ouvre en écriture seule; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> <listitem> <simpara> 'w+' - Ouvre en lecture et écriture; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> <listitem> <simpara> 'a' - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> <listitem> <simpara> 'a+' - Ouvre en lecture et écriture; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer. </simpara> </listitem> </itemizedlist> De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option n'est utile que sur les systèmes qui font la différence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalité Windows, totalement inutile sous Unix). S'il n'est pas nécessaire, il sera ignoré. </para> <para> Vous pouvez utiliser le troisième paramètre optionnel pour explorer le dossier <link linkend="ini.include-path">include_path</link>, en le mettant à 1. </para> <para> <example> <title>Exemple avec <function>fopen</function></title> <programlisting role="php"><?php $fp = fopen("/home/rasmus/file.txt", "r"); $fp = fopen("http://www.php.net/", "r"); $fp = fopen("ftp://user:password@example.com/", "w");?> </programlisting> </example> </para> <simpara> Si vous rencontrez des problèmes en lecture ou écriture de fichier et que vous utilisez PHP en version module de serveur, n'oubliez pas que les fichiers auxquels vous accédez ne sont pas nécessairement accessibles au processus serveur. </simpara> <para> Sous Windows, assurez-vous de bien échapper les anti-slash utilisés dans le chemin du fichier, ou bien utilisez des slash. <informalexample> <programlisting role="php"><?php $fp = fopen("c:\\data\\info.txt", "r");?> </programlisting> </informalexample> </para> <simpara> Voir aussi <function>fclose</function>, <function>fsockopen</function>, <function>socket_set_timeout</function> et <function>popen</function>. </simpara> </refsect1> </refentry> <refentry id="function.fpassthru"> <refnamediv> <refname>fpassthru</refname> <refpurpose> Affiche la partie du fichier située après le pointeur du fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fpassthru</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fpassthru</function> lit tout le reste d'un fichier jusqu'à la fin, et dirige le résultat vers la sortie standard. </simpara> <simpara> Si une erreur survient, <function>fpassthru</function> retourne &false;. </simpara> <simpara> Le pointeur de fichier doit être valide, et doit avoir été correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. Après lecture, <function>fpassthru</function> va fermer le fichier (le pointeur <parameter>fp</parameter> sera alors invalide). </simpara> <simpara> Si vous voulez simplement afficher le contenu d'un fichier, il suffit d'utiliser <function>readfile</function>, ce qui épargnera l'appel à <function>fopen</function>. </simpara> <simpara> Voir aussi <function>readfile</function>, <function>fopen</function>, <function>popen</function> et <function>fsockopen</function>. </simpara> </refsect1> </refentry> <refentry id="function.fputs"> <refnamediv> <refname>fputs</refname> <refpurpose>Ecrit dans un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fputs</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter> <optional>length</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fputs</function> est un alias de <function>fwrite</function>, et lui est identique en tous points. Notez que <parameter>length</parameter> est un paramètre optionnel, et s'il n'est pas spécifié, toute la chaîne est écrite. </para> </refsect1> </refentry> <refentry id="function.fread"> <refnamediv> <refname>fread</refname> <refpurpose>Lecture du fichier en mode binaire.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fread</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>length</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fread</function> lit jusqu'à <parameter>length</parameter> octets dans le fichier reférencé par <parameter>fp</parameter>. La lecture s'arrête lorsque <parameter>length</parameter> octets ont été lus, ou que l'on a atteint la fin du fichier, ou qu'une erreur survient (le premier des trois). </simpara> <para> <informalexample> <programlisting role="php"><?php// Lit un fichier, et le place dans une chaîne $filename = "/usr/local/quelquechose.txt"; $fd = fopen($filename, "r"); $contents = fread($fd, filesize ($filename)); fclose($fd);?> </programlisting> </informalexample> </para> <note> <para> Sur les systèmes qui différencient les fichiers textes et binaires (i.e. Windows) le fichier doit être ouvert avec la lettre 'b' ajoutée au paramètre de mode de la fonction <function>fopen</function>. </para> </note> <note> <para> <informalexample> <programlisting role="php"><?php $filename = "c:\\fichiers\\uneimage.gif"; $fd = fopen($filename, "rb"); $contents = fread($fd, filesize ($filename)); fclose($fd);?> </programlisting> </informalexample> </para> </note> <simpara> Voir aussi <function>fwrite</function>, <function>fopen</function>, <function>fsockopen</function>, <function>popen</function>, <function>fgets</function>, <function>fgetss</function>, <function>file</function> et <function>fpassthru</function>. </simpara> </refsect1> </refentry> <refentry id="function.fscanf"> <refnamediv> <refname>fscanf</refname> <refpurpose>Analyse un fichier en fonction d'un format</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>fscanf</function></funcdef> <paramdef>int <parameter>handle</parameter></paramdef> <paramdef>string <parameter>format</parameter></paramdef> <paramdef>string <parameter><optional>var1</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fscanf</function> est similaire à <function>sscanf</function>, mais elle prend comme entrée un fichier, associé à <parameter>handle</parameter> et l'interprète en fonction du format <parameter>format</parameter>. Si seulement deux paramètres sont passés à la fonction, les valeurs analysées seront retournées sous forme de tableau. Si des arguments optionnels sont passés, la fonction retournera le nombre de valeurs assignées. Les options doivent être passées par référence. <example> <title>Exemple <function>fscanf</function></title> <programlisting role="php"><?php $fp = fopen ("users.txt","r"); while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) { list ($name, $profession, $countrycode) = $userinfo; //... traitement des données } fclose($fp);?> </programlisting> </example> <example> <title>users.txt</title> <programlisting role="txt">janus argonaute grrodin sculpteur frsam oncle usleonard inventeur it </programlisting> </example> </para> <para> Voir aussi <function>fread</function>, <function>fgets</function>, <function>fgetss</function>, <function>sscanf</function>, <function>printf</function> et <function>sprintf</function>. </para> </refsect1> </refentry> <refentry id="function.fseek"> <refnamediv> <refname>fseek</refname> <refpurpose>Modifie le pointeur de fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fseek</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fseek</function> modifie le curseur de position dans le fichier <parameter>fp</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>. Ce paramètre peut prendre les valeurs suivantes : <simplelist> <member> SEEK_SET - La position finale vaut <parameter>offset</parameter> octets. </member> <member> SEEK_CUR - La position finale vaut la position courante ajoutée à <parameter>offset</parameter> octets. </member> <member> SEEK_END - La position finale vaut la position courante par rapport à la fin du fichier, ajoutée de <parameter>offset</parameter>. </member> </simplelist> </para> <para> Si <parameter>whence</parameter> n'est pas spécifiée, il vaut par défaut SEEK_SET. </para> <para> <function>fseek</function> retourne &true; en cas de succès, et sinon -1. Notez que positionner le pointeur au delà de la fin du fichier n'est pas une erreur. </para> <para> <function>fseek</function> ne peut pas être utilisé sur les pointeurs retournés par <function>fopen</function> s'ils sont au format HTTP ou FTP. </para> <para> Voir aussi <function>ftell</function> et <function>rewind</function>. </para> </refsect1> </refentry> <refentry id="function.fstat"> <refnamediv> <refname>fstat</refname> <refpurpose> Lit les informations sur un fichier à partir d'un pointeur de fichier </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fstat</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fstat</function> rassemble les informations sur le fichier dont on connaît le pointeur <parameter>fp</parameter>. <function>fstat</function> est similaire à la fonction <function>stat</function>, hormis le fait qu'elle utilise un pointeur de fichier, au lieu d'un nom de fichier. </para> <para> <function>fstat</function> retourne un tableau avec les éléments suivants : <itemizedlist> <listitem><simpara>1 : volume </simpara></listitem> <listitem><simpara>2 : inode</simpara></listitem> <listitem><simpara>3 : mode de protection du inode </simpara></listitem> <listitem><simpara>4 : nombre de liens </simpara></listitem> <listitem><simpara>5 : id de l'utilisateur propriétaire </simpara></listitem> <listitem><simpara>6 : id du groupe propriétaire</simpara></listitem> <listitem><simpara>7 : type du volume de l'inode * </simpara></listitem> <listitem><simpara>8 : taille en octets </simpara></listitem> <listitem><simpara>9 : date du dernier accès </simpara></listitem> <listitem><simpara>10 : date de la dernière modification </simpara></listitem> <listitem><simpara>11 : date du dernier changement </simpara></listitem> <listitem><simpara>12 : taille de bloc du système pour les entrées/sorties(*)</simpara></listitem> <listitem><simpara>13 : Nombre de blocs alloués</simpara></listitem> </itemizedlist> * - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (i.e. Windows) retournent -1. </para> <para> Les résultats de <function>fstat</function> sont mis en cache. Reportez-vous à la fonction <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.ftell"> <refnamediv> <refname>ftell</refname> <refpurpose>Renvoie la position du pointeur du fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>ftell</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>ftell</function> retourne la position courante du pointeur dans le fichier repéré par le pointeur <parameter>fp</parameter>, i.e., son offset. </para> <para> Si une erreur survient, retourne &false;. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function> ou <function>popen</function>. </para> <para> Voir aussi <function>fopen</function>, <function>popen</function>, <function>fseek</function> et <function>rewind</function>. </para> </refsect1> </refentry> <refentry id="function.ftruncate"> <refnamediv> <refname>ftruncate</refname> <refpurpose>Tronque un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>ftruncate</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>ftruncate</function> prend le pointeur de fichier <parameter>fp</parameter> et le tronque à la taille de <parameter>size</parameter>.<function>ftruncate</function> retourne &true; en cas de succès, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.fwrite"> <refnamediv> <refname>fwrite</refname> <refpurpose>Ecriture du fichier en mode binaire.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fwrite</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>string <parameter>string</parameter></paramdef> <paramdef>int <parameter> <optional>length</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> <function>fwrite</function> écrit le contenu de la chaîne <parameter>string</parameter> dans le fichier pointé par <parameter>fp</parameter>. Si la longueur <parameter>length</parameter> est fournie, l'écriture s'arrêtera après <parameter>length</parameter> octets, ou à la fin de la chaîne (le premier des deux). </simpara> <simpara> Notez que si <parameter>length</parameter> est fourni, alors l'option de configuration <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link> sera ignorée, et les slash seront conservés. </simpara> <note> <para> De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option n'est utile que sur les systèmes qui font la différence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalité Windows, totalement inutile sous Unix). S'il n'est pas nécessaire, il sera ignoré. </para> </note> <simpara> Voir aussi <function>fread</function>, <function>fopen</function>, <function>fsockopen</function>, <function>popen</function> et <function>fputs</function>. </simpara> </refsect1> </refentry> <refentry id="function.set-file-buffer"> <refnamediv> <refname>set_file_buffer</refname> <refpurpose> Fixe la bufferisation de fichier </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>set_file_buffer</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> <paramdef>int <parameter>buffer</parameter></paramdef> </funcprototype> </funcsynopsis> <simpara> L'écriture de fichier avec <function>fwrite</function> utilise normalement un buffer de 8K. Cela signifie que si deux processus essaient d'écrire dans le même fichier, ils font une pause tous les 8ko pour laisser le temps à l'autre d'écrire à son tour. <function>set_file_buffer</function> permet de modifier la taille du buffer de sortie pour le pointeur de fichier <parameter>fp</parameter> à <parameter>buffer</parameter> octets. Si <parameter>buffer</parameter> vaut 0, l'écriture se fera sans buffer. Cela force un processus à écrire toutes ses données dans un fichier avant que les autres puissent y accéder. </simpara> <simpara> <function>set_file_buffer</function> retourne 0 en cas de succès, ou EOF si la requête ne peut pas être honorée. </simpara> <para> L'exemple suivant montre comment utiliser la fonction <function>set_file_buffer</function> pour créer un fichier sans buffer. <example> <title>Exemple avec <function>set_file_buffer</function></title> <programlisting role="php"><?php $fp=fopen($file, "w"); if($fp){ set_file_buffer($fp, 0); fputs($fp, $output); fclose($fp); }?> </programlisting> </example> </para> <simpara> Voir aussi <function>fopen</function> et <function>fwrite</function>. </simpara> </refsect1> </refentry> <refentry id="function.is-dir"> <refnamediv> <refname>is_dir</refname> <refpurpose>Indique si le nom de fichier est un dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_dir</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_dir</function> retourne &true; si <parameter>filename</parameter> existe et est un dossier. </para> <para> Le résultat de <function>is_dir</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_dir</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_file</function> et <function>is_link</function>. </para> </refsect1> </refentry> <refentry id="function.is-executable"> <refnamediv> <refname>is_executable</refname> <refpurpose>Indique si le fichier est exécutable.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_executable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_executable</function> retourne &true; si <parameter>filename</parameter> existe et est exécutable. </para> <para> Le résultat de <function>is_executable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_executable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_file</function> et <function>is_link</function>. </para> </refsect1> </refentry> <refentry id="function.is-file"> <refnamediv> <refname>is_file</refname> <refpurpose> Indique si le fichier est un véritable fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_file</function> retourne &true; si <parameter>filename</parameter> existe et est un fichier (et pas un dossier). </para> <para> Le résultat de <function>is_file</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_file</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_dir</function> et <function>is_link</function>. </para> </refsect1> </refentry> <refentry id="function.is-link"> <refnamediv> <refname>is_link</refname> <refpurpose> Indique si le fichier est un lien symbolique. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_link</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_link</function> retourne &true; si <parameter>filename</parameter> existe et est un lien symbolique. </para> <para> Le résultat de <function>is_link</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_link</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_dir</function> et <function>is_file</function>. </para> <note> <simpara> <function>is_link</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.is-readable"> <refnamediv> <refname>is_readable</refname> <refpurpose>Indique un fichier est autorisé en lecture</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_readable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_readable</function> retourne &true; si <parameter>filename</parameter> existe et est accessible en lecture. </para> <para> N'oubliez pas que PHP accède aux fichiers avec les mêmes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). </para> <para> Le résultat de <function>is_readable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <simpara> <function>is_readable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Voir aussi <function>is_writable</function>. </para> </refsect1> </refentry> <refentry id="function.is-writable"> <refnamediv> <refname>is_writable</refname> <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_writable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_writable</function> retourne &true; si <parameter>filename</parameter> existe et est accessible en écriture. </para> <para> N'oubliez pas que PHP accède aux fichiers avec les mêmes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). </para> <simpara> <function>is_writable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent être accessibles par le système de fichier du serveur. </simpara> <para> Le résultat de <function>is_writable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de détails. </para> <para> Voir aussi <function>is_readable</function>. </para> </refsect1> </refentry> <refentry id="function.is-writeable"> <refnamediv> <refname>is_writeable</refname> <refpurpose>Indique si un fichier est autorisé en écriture.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_writeable</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_writeable</function> est un alias de <function>is_writable</function>. </para> </refsect1> </refentry> <refentry id="function.is-uploaded-file"> <refnamediv> <refname>is_uploaded_file</refname> <refpurpose> Indique si le fichier a été téléchargé par HTTP POST </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>is_uploaded_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>is_uploaded_file</function> est disponible à partir des versions PHP 3.0.16 et 4.0.2. </para> <para> <function>is_uploaded_file</function> retourne &true; si le fichier <varname>filename</varname> a été téléchargé par HTTP POST. Cela est très utile pour vous assurer qu'un utilisateur n'essaie pas d'accéder intentionnellement à un fichier auquel il n'a pas droit (comme <filename>/etc/passwd</filename>). </para> <para> Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révélent leur contenu à l'utilisateur, ou même aux utilisateurs du même système. </para> <para> Voir aussi <function>move_uploaded_file</function>, et la section <link linkend="features.file-upload">Chargement de fichier</link> pour un exemple simple. </para> </refsect1> </refentry> <refentry id="function.link"> <refnamediv> <refname>link</refname> <refpurpose>Crée un lien.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>link</function></funcdef> <paramdef>string <parameter>target</parameter></paramdef> <paramdef>string <parameter>link</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>link</function> crée un lien. </para> <para> Voir aussi <function>symlink</function> pour créer des liens symboliques et <function>readlink</function> avec <function>linkinfo</function>. </para> <note> <simpara> <function>link</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.linkinfo"> <refnamediv> <refname>linkinfo</refname> <refpurpose>Renvoie les informations à propos d'un lien.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>linkinfo</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>linkinfo</function> renvoie les informations à propos d'un lien, c'est-à-dire le champs st_dev de la structure d'information UNIX (comme en langage C). <function>linkinfo</function> sert à vérifier si un lien (repéré par <parameter>path</parameter>) existe (en utilisant la même méthode que la macro S_ISLNK de stat.h). <function>linkinfo</function> retourne &false; en cas d'erreur. </para> <para> Voir aussi <function>symlink</function>, <function>link</function> et <function>readlink</function>. </para> <note> <simpara> <function>linkinfo</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.mkdir"> <refnamediv> <refname>mkdir</refname> <refpurpose>Crée un dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>mkdir</function></funcdef> <paramdef>string <parameter>pathname</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mkdir</function> tente de créer un dossier dans le chemin <parameter>pathname</parameter>. </para> <para> Notez que vous aurez à préciser le mode en base octale, ce qui signifie que vous aurez probablement un 0 comme premier chiffre. Le mode sera aussi modifié par le umask courant, que vous pouvez modifier avec la fonction <function>umask</function>. <informalexample> <programlisting role="php"><?php mkdir ("/chemin/de/mon/dossier", 0700);?> </programlisting> </informalexample> </para> <para> <function>mkdir</function> retourne &true; en cas de succès, et &false; en cas d'échec. </para> <para> Voir aussi <function>rmdir</function>. </para> </refsect1> </refentry> <refentry id="function.move-uploaded-file"> <refnamediv> <refname>move_uploaded_file</refname> <refpurpose>Déplace un fichier téléchargé.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>move_uploaded_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>string <parameter>destination</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>move_uploaded_file</function> est disponible à partir des versions PHP 3.0.16 et 4.0.2. </para> <para> <function>move_uploaded_file</function> s'assure que le fichier <parameter>filename</parameter> est un fichier téléchargé par HTTP POST. Si le fichier est valide, il est déplacé jusqu'à <parameter>destination</parameter>. </para> <para> Si <parameter>filename</parameter> n'est pas valide, rien ne se passe, et <function>move_uploaded_file</function> retournera &false;. </para> <para> Si <parameter>filename</parameter> est un fichier téléchargé, mais que pour une raison quelconque, il ne peut être déplacé, rien ne se passe, et <function>move_uploaded_file</function> retourne &false;. De plus, une alerte sera affichée. </para> <para> Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révèlent leur contenu à l'utilisateur, ou même aux utilisateurs du même système. </para> <para> Voir aussi <function>move_uploaded_file</function> et la section <link linkend="features.file-upload">Chargement de fichier</link> pour un exemple simple. </para> </refsect1> </refentry> <refentry id="function.parse-ini-file"> <refnamediv> <refname>parse_ini_file</refname> <refpurpose>Traite un fichier de configuration</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>parse_ini_file</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>bool <parameter> <optional>process_sections</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>parse_ini_file</function> charge le fichier <parameter>filename</parameter> et retourne les configuration qui s'y trouve sous forme d'un tableau associatif. En passant le deuxième paramètre optionnel à <parameter>process_sections</parameter>, vous obtiendrez un tableau multi-dimensionnel, avec les noms des sections. La valeur par défaut de ce paramètre est &false; </para> <note> <para> Cette fonction n'a rien a voir avec le fichier <filename>php.ini</filename>. Ce dernier a déjà était traité lorsque vous commencez a exécuter votre script. Cette fonction peut vous permettre de lire vos propres fichiers de configuration. </para> </note> <para> La structure des fichiers de configuration lus est similaire à celle de <filename>php.ini</filename>. </para> <para> <example> <title>Contenu de exemple.ini</title> <programlisting>; Ceco est un fichier de configuration; Les commentaires commencent par ';', comme dans php.ini[premiere_section]un = 1cinq = 5[seconde_section]chemin = /usr/local/bin </programlisting> </example> </para> <para> <example> <title>Exemple avec <function>parse_ini_file</function></title> <programlisting><?php// Traitement sans les sections$ini_array = parse_ini_file("exemple.ini");print_r($ini_array);// Traitement avec les sections$ini_array = parse_ini_file("sample.ini", TRUE);print_r($ini_array);?> </programlisting> </example> </para> <para> Cet exemple va produire : <informalexample> <programlisting>Array( [un] => 1 [cinq] => 5 [chemin] => /usr/local/bin)Array( [premiere_section] => Array ( [un] => 1 [cinq] => 5 ) [seconde_section] => Array ( [chemin] => /usr/local/bin )) </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.pathinfo"> <refnamediv> <refname>pathinfo</refname> <refpurpose>Retourne des informations sur un chemin système</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>pathinfo</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>pathinfo</function> retourne un tableau associatif, contenant les informations sur le chemin <parameter>path</parameter>. Les éléments suivants sont retournés : <parameter>dirname</parameter>, <parameter>basename</parameter> et <parameter>extension</parameter>. </para> <para> <example> <title>Exemple avec <function>pathinfo</function></title> <programlisting role="php"><?php $path_parts = pathinfo("/www/htdocs/index.html"); echo $path_parts["dirname"] . "\n"; echo $path_parts["basename"] . "\n"; echo $path_parts["extension"] . "\n";?> </programlisting> </example> </para> <para> Va afficher : <informalexample> <programlisting>/www/htdocsindex.htmlhtml </programlisting> </informalexample> </para> <para> Voir aussi <function>dirname</function>, <function>parse_url</function>, <function>basename</function> et <function>realpath</function>. </para> </refsect1> </refentry> <refentry id="function.pclose"> <refnamediv> <refname>pclose</refname> <refpurpose>Ferme un processus de pointeur de fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>pclose</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>pclose</function> ferme un processus de pointeur de fichier ouvert par <function>popen</function>. </para> <para> Le pointeur de fichier doit être valide, et avoir été ouvert correctement par <function>popen</function>. </para> <para> <function>pclose</function> retourne le statut final du processus exécuté. </para> <para> Voir aussi <function>popen</function>. </para> </refsect1> </refentry> <refentry id="function.popen"> <refnamediv> <refname>popen</refname> <refpurpose>Crée un processus de pointeur de fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>popen</function></funcdef> <paramdef>string <parameter>commet</parameter></paramdef> <paramdef>string <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>popen</function> ouvre un processus fils en faisant un fork de la commande. </para> <para> <function>popen</function> retourne un pointeur de fichier identique à celui retourné par <function>fopen</function>, hormis le fait qu'il sera unidirectionnel (lecture seule, ou écriture seule), et doit être terminé par <function>pclose</function>. Ce pointeur peut être utilisé avec <function>fgets</function>, <function>fgetss</function> et <function>fputs</function>. </para> <para> Si une erreur survient, retourne &false;. </para> <para> <informalexample> <programlisting role="php"><?php $fp = popen("/bin/ls", "r");?> </programlisting> </informalexample> </para> <para> Voir aussi <function>pclose</function>. </para> </refsect1> </refentry> <refentry id="function.readfile"> <refnamediv> <refname>readfile</refname> <refpurpose>Affiche un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>readfile</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter> <optional>use_include_path</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>readfile</function> lit le fichier <parameter>filename</parameter> et l'envoit à la sortie standard. </para> <para> <function>readfile</function> retourne le nombre d'octets lus depuis le fichier. Si une erreur survient, retourne &false;. </para> <para> Si <parameter>filename</parameter> commence par "http://" (insensible à la casse), une connexion HTTP 1.0 sera ouverte avec le serveur spécifié, et le texte de la réponse sera affiché sur la sortie standard. </para> <simpara> Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier. </simpara> <para> Si <parameter>filename</parameter> commence par "ftp://" (insensible à la casse), une connexion FTP est ouverte avec l'hôte spécifié et la réponse du serveur est affichée. Si le serveur ne supporte les connexions passives, la requête échouera. </para> <para> Si <parameter>filename</parameter> ne commence par aucun des cas précédents, le fichier sera ouvert sur l'hôte local, et envoyé à la sortie standard. </para> <para> Vous pouvez utiliser le deuxième paramètre optionnel pour explorer le dossier <link linkend="ini.include-path">include_path</link>, en passant la valeur de 1. </para> <para> Voir aussi <function>fpassthru</function>, <function>file</function>, <function>fopen</function>, <function>include</function>, <function>require</function> et <function>virtual</function>. </para> </refsect1> </refentry> <refentry id="function.readlink"> <refnamediv> <refname>readlink</refname> <refpurpose> Renvoie le nom du fichier vers lequel pointe un lien symbolique. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>readlink</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>readlink</function> fait la même chose que la fonction readlink en C : elle retourne le contenu du lien symbolique repéré par <parameter>path</parameter>, ou &false; en cas d'erreur. </para> <para> Voir aussi <function>symlink</function>, <function>readlink</function> et <function>linkinfo</function>. </para> <note> <simpara> <function>readlink</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.rename"> <refnamediv> <refname>rename</refname> <refpurpose>Renomme un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>rename</function></funcdef> <paramdef>string <parameter>oldname</parameter></paramdef> <paramdef>string <parameter>newname</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rename</function> rente de renommer le fichier <parameter>oldname</parameter> en <parameter>newname</parameter>. </para> <para> <function>rename</function> retourne &true; en cas de succès et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.rewind"> <refnamediv> <refname>rewind</refname> <refpurpose>Replace le pointeur de fichier au début.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>rewind</function></funcdef> <paramdef>int <parameter>fp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rewind</function> replace le pointeur du fichier <parameter>fp</parameter> au début. </para> <para> Si une erreur survient, retourne &false;. </para> <para> Le pointeur de fichier doit être valide, et avoir été correctement ouvert par <function>fopen</function>. </para> <para> Voir aussi <function>fseek</function> et <function>ftell</function>. </para> </refsect1> </refentry> <refentry id="function.rmdir"> <refnamediv> <refname>rmdir</refname> <refpurpose>Efface un dossier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>rmdir</function></funcdef> <paramdef>string <parameter>dirname</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>rmdir</function> tente d'effacer le dossier dont le chemin est <parameter>dirname</parameter>. Le dossier doit être vide, et le script doit avoir les autorisations adéquates. </para> <para> Si une erreur survient, <function>rmdir</function> retourne &false;. </para> <para> Voir aussi <function>mkdir</function>. </para> </refsect1> </refentry> <refentry id="function.stat"> <refnamediv> <refname>stat</refname> <refpurpose>Renvoie les informations à propos d'un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>stat</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>stat</function> renvoie les informations à propos du fichier filename. </para> <para> <function>stat</function> retourne un tableau avec les éléments suivants : <itemizedlist> <listitem><simpara>0 : volume </simpara></listitem> <listitem><simpara>1 : inode</simpara></listitem> <listitem> <simpara> 2 : droits d'accès au fichier (mode de protection du inode). A convertir en octal. Voir aussi <function>fileperms</function>. </simpara> </listitem> <listitem><simpara>3 : nombre de liens </simpara></listitem> <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> <listitem><simpara>7 : taille en octets </simpara></listitem> <listitem><simpara>8 : date du dernier accès </simpara></listitem> <listitem><simpara>9 : date de la dernière modification </simpara></listitem> <listitem><simpara>10 : date du dernier changement </simpara></listitem> <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> </itemizedlist> * - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (i.e. Windows) retournent -1. </para> <para> <function>stat</function> retourne &false; en cas d'erreur. </para> <para> <function>stat</function> ne gère pas les URL comme peut le faire <function>fopen</function>. </para> <para> Les résultats de <function>stat</function> sont mis en cache. Reportez-vous à la fonction <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.lstat"> <refnamediv> <refname>lstat</refname> <refpurpose> Renvoie les informations à propos d'un fichier ou d'un lien symbolique. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>lstat</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>lstat</function> est identique à <function>stat</function> mais elle accepte aussi un lien symbolique comme argument. </para> <para> <function>lstat</function> retourne un tableau avec les éléments suivants : <itemizedlist> <listitem><simpara>0 : volume </simpara></listitem> <listitem><simpara>1 : inode</simpara></listitem> <listitem> <simpara> 2 : droits d'accès au fichier (mode de protection du inode). A convertir en octal. Voir aussi <function>fileperms</function>. </simpara> </listitem> <listitem><simpara>3 : nombre de liens </simpara></listitem> <listitem><simpara>4 : id de l'utilisateur propriétaire </simpara></listitem> <listitem><simpara>5 : id du groupe propriétaire</simpara></listitem> <listitem><simpara>6 : type du volume de l'inode * </simpara></listitem> <listitem><simpara>7 : taille en octets </simpara></listitem> <listitem><simpara>8 : date du dernier accès </simpara></listitem> <listitem><simpara>9 : date de la dernière modification </simpara></listitem> <listitem><simpara>10 : date du dernier changement </simpara></listitem> <listitem><simpara>11 : taille de bloc du système pour les entrées/sorties * </simpara></listitem> <listitem><simpara>12 : nombre de blocs alloués</simpara></listitem> </itemizedlist> * - uniquement sur les systèmes qui supportent le type st_blksize. Les autres systèmes (i.e. Windows) retournent -1. </para> <para> Les résultats de <function>lstat</function> sont mis en cache. Reportez-vous à la fonction <function>clearstatcache</function> pour plus de détails. </para> </refsect1> </refentry> <refentry id="function.realpath"> <refnamediv> <refname>realpath</refname> <refpurpose>Retourne le chemin canonique absolu.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>realpath</function></funcdef> <paramdef>string <parameter>path</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>realpath</function> résoud tous les liens symboliques, et remplace toutes les références '/./', '/../' et '/' de <parameter>path</parameter> puis retourne le chemin canonique absolu ainsi trouvé. Le résultat ne contient aucun lien symbolique, '/./' ou '/../'. </para> <para> <example> <title>Exemple <function>realpath</function></title> <programlisting role="php"><?php $real_path = realpath("../../index.php");?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.symlink"> <refnamediv> <refname>symlink</refname> <refpurpose>Crée un lien symbolique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>symlink</function></funcdef> <paramdef>string <parameter>target</parameter></paramdef> <paramdef>string <parameter>link</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>symlink</function> crée un lien symbolique pour l'objet <parameter>target</parameter> avec le nom de <parameter>link</parameter>. </para> <para> Voir aussi <function>link</function> pour créer des liens durs et <function>readlink</function> ainsi que <function>linkinfo</function>. </para> <note> <simpara> <function>symlink</function> est inopérante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.tempnam"> <refnamediv> <refname>tempnam</refname> <refpurpose>Crée un fichier avec un nom unique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>tempnam</function></funcdef> <paramdef>string <parameter>dir</parameter></paramdef> <paramdef>string <parameter>prefix</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>tempnam</function> crée un fichier temporaire unique dans le dossier <parameter>dir</parameter>. Si le dossier n'existe pas, <function>tempnam</function> va générer un nom de fichier dans le dossier temporaire du système. </para> <para> Avant PHP 4.0.6, le comportement de <function>tempnam</function> dépendait de l'OS sous-jacent. Sous Windows, la variable d'environnement TMP remplace le paramètre <parameter>dir</parameter>; sous Linux, la variable d'environnement TMPDIR a la priorité, tandis que pour les OS en système V R4, le paramètre <parameter>dir</parameter> sera toujours utilisé, si le dossier qu'il représente existe. Consultez votre documentation pour plus de détails. </para> <para> <function>tempnam</function> retourne le nom du fichier temporaire, ou la chaîne &null; en cas d'échec. <example> <title>Exemple avec <function>tempnam</function></title> <programlisting role="php"><?php $tmpfname = tempnam("/tmp", "FOO");?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.tmpfile"> <refnamediv> <refname>tmpfile</refname> <refpurpose>Crée un fichier temporaire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>tmpfile</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>tmpfile</function> crée un fichier temporaire avec un nom unique, ouvert en écriture, et retourne un pointeur de fichier, identique à ceux retournés par <function>fopen</function>. Ce fichier sera automatiquement effacé lorsqu'il sera fermé (avec <function>fclose</function>), ou lorsque le script sera terminé. </para> <para> Pour plus de détails, consultez votre documentation système sur la fonction <literal>tmpfile(3)</literal>, et sur <filename>stdio.h</filename>. </para> <para> Voir aussi <function>tempnam</function>. </para> </refsect1> </refentry> <refentry id="function.touch"> <refnamediv> <refname>touch</refname> <refpurpose> Affecte une nouvelle date de modification à un fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>touch</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>int <parameter>time</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>touch</function> tente de forcer la date de modification du fichier nommé <parameter>filename</parameter> à la date de <parameter>time</parameter>. Si <parameter>time</parameter> est omis, c'est l'heure courante qui est utilisée. </para> <para> Si le fichier n'existe pas, il est créé. </para> <para> <function>touch</function> retourne &true; en cas de succès, et &false; sinon. <example> <title>Exemple avec <function>touch</function></title> <programlisting role="php">if ( touch($NomDeFichier) ) { print "La date de modification de $NomDeFichier a été fixée à maintenant";} else { print "Désolé, il est impossible de changer la date de modification de $NomDeFichier";} </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.umask"> <refnamediv> <refname>umask</refname> <refpurpose>Change le "umask" courant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>umask</function></funcdef> <paramdef>int <parameter>mask</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>umask</function> change le umask de PHP : mask & 0777 et retourne le vieux umask. Lorsque PHP est utilisé comme module de serveur, le umask reprend sa valeur à la fin de chaque script. </para> <para> <function>umask</function> appelé sans argument retourne simplement le umask courant. </para> </refsect1> </refentry> <refentry id="function.unlink"> <refnamediv> <refname>unlink</refname> <refpurpose>Efface un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>unlink</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>unlink</function> efface <parameter>filename</parameter>. Identique à la fonction Unix C unlink(). </para> <para> <function>unlink</function> retourne &false; en cas d'échec. </para> <para> Voir aussi <function>rmdir</function> pour supprimer des dossiers. </para> <note> <simpara> <function>unlink</function> ne fonctionne pas sous Windows. </simpara> </note> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/funchand.xml diff -u phpdoc/fr/functions/funchand.xml:1.15 phpdoc/fr/functions/funchand.xml:1.16 --- phpdoc/fr/functions/funchand.xml:1.15 Mon Jul 23 12:50:16 2001 +++ phpdoc/fr/functions/funchand.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.16 $ --> <reference id="ref.funchand"> <title>Fonctions</title> <titleabbrev>Fonctions</titleabbrev> @@ -100,12 +102,14 @@ Par exemple : <informalexample> <programlisting role="php"> -function barbier ($type) { +<?php + function barbier ($type) { print "Vous vouliez une coupe $type, pas de problème"; -} -call_user_func ('barbier', "iroquois"); -call_user_func ('barbier', "militaire"); -call_user_func ('barbier', "au bol"); + } + call_user_func('barbier', "iroquois"); + call_user_func('barbier', "militaire"); + call_user_func('barbier', "au bol"); +?> </programlisting> </informalexample> </para> @@ -153,9 +157,9 @@ </title> <programlisting role="php"> <?php -$newfunc = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);'); -echo "Nouvelle fonction anonyme : $newfunc\n"; -echo $newfunc(2,M_E)."\n"; + $newfunc = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);'); + echo "Nouvelle fonction anonyme : $newfunc\n"; + echo $newfunc(2,M_E)."\n"; // affichera : // Nouvelle fonction anonyme : lambda_1 // ln(2) + ln(2.718281828459) = 1.6931471805599 @@ -347,7 +351,7 @@ <informalexample> <programlisting role="php"> <?php -function foo() { + function foo() { $numargs = func_num_args(); echo "Nombre d'arguments: $numargs<br>\n"; if ($numargs >= 2) { @@ -357,8 +361,8 @@ for ($i = 0; $i < $numargs; $i++) { echo "L'argument $i est: " . $arg_list[$i] . "<br>\n"; } -} -foo (1, 2, 3); + } + foo(1, 2, 3); ?> </programlisting> </informalexample> @@ -403,11 +407,11 @@ <informalexample> <programlisting role="php"> <?php -function foo() { + function foo() { $numargs = func_num_args(); echo "Nombre d'arguments: $numargs\n"; -} -foo (1, 2, 3); // affiche 'Nombre d'arguments: 3' + } + foo (1, 2, 3); // affiche 'Nombre d'arguments: 3' ?> </programlisting> </informalexample> Index: phpdoc/fr/functions/gmp.xml diff -u phpdoc/fr/functions/gmp.xml:1.8 phpdoc/fr/functions/gmp.xml:1.9 --- phpdoc/fr/functions/gmp.xml:1.8 Sat Jul 7 18:22:09 2001 +++ phpdoc/fr/functions/gmp.xml Mon Nov 12 00:10:20 2001 @@ -1,979 +1 @@ - <reference id="ref.gmp"> - <title>GMP</title> - <titleabbrev>GMP</titleabbrev> - <partintro> - <simpara> - Ces fonctions vous permettent de travailler avec des nombres de taille - arbitraire, en utilisant la librairie GNU <acronym>MP</acronym>. - Pour pouvoir y accéder, vous devez compiler PHP avec le support - <acronym>GMP</acronym> en utilisant l'option - <option role="configure">--with-gmp</option>. - </simpara> - <simpara> - Vous pouvez télécharger <acronym>GMP</acronym> sur le site de <ulink - url="&url.gmp;">&url.gmp;</ulink>. - Ce site propose aussi un manuel <acronym>GMP</acronym>. - </simpara> - <simpara> - Vous devez utiliser GMP version 2 ou plus récent pour utiliser ces fonctions. - Certaines d'entre elles peuvent requérir une version encore plus récente de - GMP. - </simpara> - <simpara> - Ces fonctions ont été ajoutée dans PHP 4.0.4. - </simpara> - <note> - <para> - La plupart des fonctions GMP acceptent des nombres GMP comme arguments, - définis ci-dessous comme <literal>resource</literal>. Cependant, - la plus part de ces fonctions acceptent aussi des nombres et des chaînes - à partir du moment où on peut les convertir en nombre. Si - une fonction utilisant les entiers est plus rapide, elle sera automatiquement - appelée si les arguments fournis sont des entiers. Cela se fait - de manière transparante : vous pouvez donc utiliser des entiers - avec les fonctions GMP sans perte de vitesse. Voir aussi - <function>gmp_init</function>. - </para> - </note> - <para> - <example> - <title>Factorielle avec GMP</title> - <programlisting role="php"> -<?php -function fact($x) { - if($x <= 1) - return 1; - else - return gmp_mul($x,fact($x-1)); -} -print gmp_strval(fact(1000))."\n"; -?> - </programlisting> - </example> - Cet exemple va calculer factiorielle de 1000 (un plutôt - grand nombre) très vite. - </para> - </partintro> - <refentry id="function.gmp-init"> - <refnamediv> - <refname>gmp_init</refname> - <refpurpose>Crée un nombre GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_init</function></funcdef> - <paramdef>mixed <parameter>number</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_init</function> crée un nombre GMP, à partir d'un - entier ou d'une chaîne. Les chaînes peuvent être en - décimal ou en hexadécimal. Dans ce dernier cas, la - chaîne doit commencer par<literal>0x</literal>. - </para> - <para> - <example> - <title>Création d'un nombre GMP</title> - <programlisting role="php"> -<?php - $a = gmp_init(123456); - $b = gmp_init("0xFFFFDEBACDFEDF7200"); -?> - </programlisting> - </example> - </para> - <note> - <para> - Il n'est pas nécessaire d'appeler cette fonction si vous voulez utiliser - des entiers ou des chaînes à la place de nombre GMP dans - les fonctions GMP, comme par exemple <function>gmp_add</function>. Les - arguments de cette fonction sont automatiquement convertis en nombres - GMP, si cette conversion est possible et nécessaire, en utilisant - les mêmes règles que <function>gmp_init</function>. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.gmp-intval"> - <refnamediv> - <refname>gmp_intval</refname> - <refpurpose>Convertit un nombre GMP en entier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_intval</function></funcdef> - <paramdef>resource <parameter>gmpnumber</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_intval</function> convertit un nombre GMP en entier. - <warning> - <simpara> - <function>gmp_intval</function> retourne un résultat cohérent - uniquement si le nombre GMP peut être représenté par un entier - PHP (i.e. type long signé). Si vous vous voulez simplement afficher - un nombre GMP, utilisez plutôt <function>gmp_strval</function>. - </simpara> - </warning> - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-strval"> - <refnamediv> - <refname>gmp_strval</refname> - <refpurpose>Convertit un nombre GMP en chaîne</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>gmp_strval</function></funcdef> - <paramdef>resource <parameter>gmpnumber</parameter></paramdef> - <paramdef>int - <parameter><optional>base</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_strval</function> convertit un nombre GMP en - chaîne de caractères, dans la base <parameter>base</parameter>. - La base par défaut est 10. Les valeurs possibles vont de 2 à 36. - </para> - <para> - <example> - <title>Conversion d'un nombre GMP en chaîne</title> - <programlisting role="php"> -<?php - $a = gmp_init("0x41682179fbf5"); - printf("Décimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36)); -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-add"> - <refnamediv> - <refname>gmp_add</refname> - <refpurpose>Addition de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_add</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_add</function> additionne les nombres GMP <parameter>a</parameter> - et <parameter>b</parameter>. Le résultat est un nombre GMP. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sub"> - <refnamediv> - <refname>gmp_sub</refname> - <refpurpose>Soustraction de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_sub</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sub</function> soustrait le nombre GMP <parameter>b</parameter> - de <parameter>a</parameter>. Le résultat est un nombre GMP. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-mul"> - <refnamediv> - <refname>gmp_mul</refname> - <refpurpose>Multiplication de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_mul</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_mul</function> multiplie les nombres GMP <parameter>a</parameter> - et <parameter>b</parameter>. Le résultat est un nombre GMP. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div-q"> - <refnamediv> - <refname>gmp_div_q</refname> - <refpurpose>Divisions de 2 nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_div_q</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - <paramdef>int - <parameter><optional>round</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div_q</function> divise le nombre GMP <parameter>b</parameter> - par <parameter>a</parameter>. Le résultat est un entier. L'arrondi - du résultat est défini par <parameter>round</parameter>, qui peut prendre l'une - des valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - <parameter>GMP_ROUND_ZERO</parameter>: Le résultat est tronqué vers 0. - </simpara> - </listitem> - <listitem> - <simpara> - <parameter>GMP_ROUND_PLUSINF</parameter>: Le résultat est tronqué vers - <literal>+infinity</literal> - </simpara> - </listitem> - <listitem> - <simpara> - <parameter>GMP_ROUND_MINUSINF</parameter>: Le résultat est tronqué vers - <literal>-infinity</literal> - </simpara> - </listitem> - </itemizedlist> - </para> - <simpara> - <function>gmp_div_q</function> peut aussi être appelée - <function>gmp_div</function>. - </simpara> - <para> - Voir aussi <function>gmp_div_r</function>, <function>gmp_div_qr</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div-r"> - <refnamediv> - <refname>gmp_div_r</refname> - <refpurpose>Reste de la division de deux nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_div_r</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - <paramdef>int - <parameter><optional>round</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div_r</function> le reste de la division entière - de <parameter>n</parameter> par <parameter>d</parameter>. Le reste - a le même signe que <parameter>n</parameter>, s'il est non nul. - </para> - <para> - Voir <function>gmp_div_q</function> pour une description du parmètre - <parameter>round</parameter>. - </para> - <para> - Voir aussi <function>gmp_div_q</function>, <function>gmp_div_qr</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div-qr"> - <refnamediv> - <refname>gmp_div_qr</refname> - <refpurpose>Divise deux nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>gmp_div_qr</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - <paramdef>int - <parameter><optional>round</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div_qr</function> divise <parameter>n</parameter> par - <parameter>d</parameter> et retourne un tableau, dont le premier élément - est <literal>[n/d]</literal> (le quotient entier de la division) et le - second est <literal>(n - [n/d] * d)</literal> (le reste). - </para> - <para> - Voir <function>gmp_div_q</function> pour une description du parmètre - <parameter>round</parameter>. - </para> - <para> - <example> - <title>Division de nombres GMP</title> - <programlisting role="php"> -<?php - $a = gmp_init("0x41682179fbf5"); - $res = gmp_div_qr($a, "0xDEFE75"); - printf("Le résultat est: q - %s, r - %s", gmp_strval($res[0]), gmp_strval($res[1])); -?> - </programlisting> - </example> - </para> - <para> - Voir aussi <function>gmp_div_q</function>, <function>gmp_div_r</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-div"> - <refnamediv> - <refname>gmp_div</refname> - <refpurpose>Divise deux nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_div</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_div</function> est un alias de <function>gmp_div_q</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-mod"> - <refnamediv> - <refname>gmp_mod</refname> - <refpurpose>Modulo GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_mod</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_mod</function> calcule <parameter>n</parameter> modulo - <parameter>d</parameter>. Le résultat est toujours positif ou nul, car - le signe de <parameter>d</parameter> est ignoré. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-divexact"> - <refnamediv> - <refname>gmp_divexact</refname> - <refpurpose>Division exacte de nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_divexact</function></funcdef> - <paramdef>resource <parameter>n</parameter></paramdef> - <paramdef>resource <parameter>d</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_divexact</function> divis <parameter>n</parameter> par - <parameter>d</parameter>, en utilisant les algorithmes de "division - exacte". Cette fonction ne fournit de résultats cohérents que - s'il est su par avance que <parameter>d</parameter> divise - <parameter>n</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-cmp"> - <refnamediv> - <refname>gmp_cmp</refname> - <refpurpose>Compare des nombres GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_cmp</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_cmp</function> retourne une valeur positive si - <literal>a > b</literal>, zéro si <literal>a = b</literal> et négative - si <literal>a < b</literal>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-neg"> - <refnamediv> - <refname>gmp_neg</refname> - <refpurpose>Opposé de nombre GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_neg</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_neg</function> retourne l'opposé de - <function>gmp_neg</function><parameter>a</parameter> - (-1 * <parameter>a</parameter>). - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-abs"> - <refnamediv> - <refname>gmp_abs</refname> - <refpurpose>Valeur absolue GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_abs</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_abs</function> retourne la valeur absolue de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sign"> - <refnamediv> - <refname>gmp_sign</refname> - <refpurpose>Signe du nombre GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_sign</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sign</function> retourne le signe de <parameter>a</parameter> : - 1 si <parameter>a</parameter> est positif et -1 s'il est négatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-fact"> - <refnamediv> - <refname>gmp_fact</refname> - <refpurpose>Factorielle GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_fact</function></funcdef> - <paramdef>int <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_fact</function> calcule la factorielle - de <parameter>a</parameter> : <literal>a!</literal>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sqrt"> - <refnamediv> - <refname>gmp_sqrt</refname> - <refpurpose>Racine carrée GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_sqrt</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sqrt</function> calcule la racine carrée de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sqrtrm"> - <refnamediv> - <refname>gmp_sqrtrm</refname> - <refpurpose>Racine carrée avec reste GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>gmp_sqrtrm</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_sqrtrm</function> retourne un tableau dont le - premier élément est la racine carrée entière de - <parameter>a</parameter> (voir aussi <function>gmp_sqrt</function>), et - le second est le reste de (i.e., la différence entre - <parameter>a</parameter> et le carré du premier élément). - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-perfect-square"> - <refnamediv> - <refname>gmp_perfect_square</refname> - <refpurpose>Carré parfait GMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>gmp_perfect_square</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_perfect_square</function> retourn &true; si - <parameter>a</parameter> est un carré parfait, et &false; sinon. - </para> - <para> - Voir aussi : <function>gmp_sqrt</function>, <function>gmp_sqrtrm</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-pow"> - <refnamediv> - <refname>gmp_pow</refname> - <refpurpose>Puissance</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_pow</function></funcdef> - <paramdef>resource <parameter>base</parameter></paramdef> - <paramdef>int <parameter>exp</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_pow</function> élève - <parameter>base</parameter> à la puissance - <parameter>exp</parameter>. Dans le cas de 0^0, - <function>gmp_pow</function> retourne 1.<parameter>exp</parameter> - ne doit pas être négatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-powm"> - <refnamediv> - <refname>gmp_powm</refname> - <refpurpose>Puissance et modulo</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_powm</function></funcdef> - <paramdef>resource <parameter>base</parameter></paramdef> - <paramdef>resource <parameter>exp</parameter></paramdef> - <paramdef>resource <parameter>mod</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_powm</function> calcule (<parameter>base</parameter> - puissnace <parameter>exp</parameter>) modulo <parameter>mod</parameter>. Si - <parameter>exp</parameter> est négatif, le résultat est - indéfini. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-prob-prime"> - <refnamediv> - <refname>gmp_prob_prime</refname> - <refpurpose>Nombre GMP probablement premier</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_prob_prime</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>int <parameter><optional>reps</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Si <function>gmp_prob_prime</function> retourne 0, <parameter>a</parameter> - est défini comme non premier. Si <function>gmp_prob_prime</function> retourne - 1, alors <parameter>a</parameter> est "probablement" premier. - Si <function>gmp_prob_prime</function> retourne 2, alors - <parameter>a</parameter> est sûrement premier. <parameter>reps</parameter> - peut raisonnablement varier de 5 à 10 (par défaut, c'est 10); une valeur - supérieure réduit la probabilité qu'un nombre non premier soit - identifié comme "probablement" premier. - </para> - <para> - <function>gmp_prob_prime</function> utilise le test de probabilité - Miller-Rabin. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-gcd"> - <refnamediv> - <refname>gmp_gcd</refname> - <refpurpose>PGCD</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_gcd</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_gcd</function> calcule de PGCD (plus grand commun - diviseur) de <parameter>a</parameter> et <parameter>b</parameter>. - Le résultat est toujours positif, même si l'un des deux (ou les deux) - nombres est négatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-gcdext"> - <refnamediv> - <refname>gmp_gcdext</refname> - <refpurpose>PGCD étendu</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>gmp_gcdext</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_gcdext</function> calcule les entiers g, s, et t, tels que - <literal>a*s + b*t = g = gcd(a,b)</literal>, où gcd est le pgcd de - <parameter>a</parameter> et <parameter>b</parameter>. La fonction - retourne un tableau avec les éléments g, s et t. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-invert"> - <refnamediv> - <refname>gmp_invert</refname> - <refpurpose>Inverse modulo</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_invert</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_invert</function> calcule l'invers de - <parameter>a</parameter> modulo <parameter>b</parameter>. Retourne &false; si un tel inverse n'existe pas. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-legendre"> - <refnamediv> - <refname>gmp_legendre</refname> - <refpurpose>Symbole de Legendre</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_legendre</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>p</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_legendre</function> calcule le - <ulink url="http://www.utm.edu/research/primes/glossary/LegendreSymbol.html"> - symbole de Legendre</ulink> de <parameter>a</parameter> et - <parameter>p</parameter>. <parameter>p</parameter> doit être positif et - impair. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-jacobi"> - <refnamediv> - <refname>gmp_jacobi</refname> - <refpurpose>Symbole de Jacobi</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_jacobi</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>p</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_jacobi</function> calcule le - <ulink - url="http://www.utm.edu/research/primes/glossary/JacobiSymbol.html"> - symbole de Jacobi</ulink> de <parameter>a</parameter> et - <parameter>p</parameter>. <parameter>p</parameter> doit être positif et - impair. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-random"> - <refnamediv> - <refname>gmp_random</refname> - <refpurpose>Nombre GMP aléatoire</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_random</function></funcdef> - <paramdef>int <parameter>limiter</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_random</function> génère un nombre alétoire. - Ce nombre est limité par <parameter>limiter</parameter>. Si - <parameter>limiter</parameter> est négatif, un nombre négatif est - généré. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-and"> - <refnamediv> - <refname>gmp_and</refname> - <refpurpose>ET logique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_and</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_and</function> calcule le ET logique de - <parameter>a</parameter> et <parameter>b</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-or"> - <refnamediv> - <refname>gmp_or</refname> - <refpurpose>OU logique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_or</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_or</function> calcule le OU logique de - <parameter>a</parameter> et <parameter>b</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-xor"> - <refnamediv> - <refname>gmp_xor</refname> - <refpurpose>OU exclusif logique</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_xor</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_or</function> calcule le OU exclusif logique de - <parameter>a</parameter> et <parameter>b</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-setbit"> - <refnamediv> - <refname>gmp_setbit</refname> - <refpurpose>Modifie un bit</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_setbit</function></funcdef> - <paramdef>resource <parameter>&a</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - <paramdef>bool <parameter><optional>set_clear</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_setbit</function> modifie le bit <parameter>index</parameter> - dans <parameter>a</parameter>. <parameter>set_clear</parameter> indique si - le bit est mis à 0 ou 1. Par défaut, il est mis à 1. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-clrbit"> - <refnamediv> - <refname>gmp_clrbit</refname> - <refpurpose>Annule un bit</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>gmp_clrbit</function></funcdef> - <paramdef>resource <parameter>&a</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_clrbit</function> met le bit <parameter>index</parameter> - à 0 dans le nombre GMP <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-scan0"> - <refnamediv> - <refname>gmp_scan0</refname> - <refpurpose>Recherche 0</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_scan0</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>int <parameter>start</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_scan0</function> recherche dans <parameter>a</parameter>, - en commencant à la position <parameter>start</parameter>, vers les bits - de poids lourd, jusqu'à ce qu'elle rencontre un bit à 0. Sa position est - alors retournée. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-scan1"> - <refnamediv> - <refname>gmp_scan1</refname> - <refpurpose>Recherche 1</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_scan1</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>int <parameter>start</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_scan1</function> recherche dans <parameter>a</parameter>, - en commencant à la position <parameter>start</parameter>, - vers les bits de poids lourd, jusqu'à ce qu'elle rencontre - un bit à 1. Sa position est alors retournée. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-popcount"> - <refnamediv> - <refname>gmp_popcount</refname> - <refpurpose>Compte de population</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_popcount</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_popcount</function> dénombre la population de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-hamdist"> - <refnamediv> - <refname>gmp_hamdist</refname> - <refpurpose>Distance de Hamming</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>gmp_hamdist</function></funcdef> - <paramdef>resource <parameter>a</parameter></paramdef> - <paramdef>resource <parameter>b</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_hamdist</function> retourne la distance de Hamming - entre <parameter>a</parameter> et <parameter>b</parameter>. Les deux - paramètres doivent être strictement positif. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.9 $ --><reference id="ref.gmp"> <title>GMP</title> <titleabbrev>GMP</titleabbrev> <partintro> <simpara> Ces fonctions vous permettent de travailler avec des nombres de taille arbitraire, en utilisant la librairie GNU <acronym>MP</acronym>. Pour pouvoir y accéder, vous devez compiler PHP avec le support <acronym>GMP</acronym> en utilisant l'option <link linkend="install.configure.gmp"><option role="configure">--with-gmp</option></link>. </simpara> <simpara> Vous pouvez télécharger <acronym>GMP</acronym> sur le site de <ulink url="&url.gmp;">&url.gmp;</ulink>. Ce site propose aussi un manuel <acronym>GMP</acronym>. </simpara> <simpara> Vous devez utiliser GMP version 2 ou plus récent pour utiliser ces fonctions. Certaines d'entre elles peuvent requérir une version encore plus récente de GMP. </simpara> <simpara> Ces fonctions ont été ajoutées en PHP 4.0.4. </simpara> <note> <para> La majorité des fonctions GMP acceptent des nombres GMP comme arguments, définis ci-dessous comme <literal>resource</literal>. Cependant, la plupart de ces fonctions acceptent aussi des nombres et des chaînes à partir du moment où on peut les convertir en nombre. Si une fonction utilisant les entiers est plus rapide, elle sera automatiquement appelée si les arguments fournis sont des entiers. Cela se fait de manière transparente : vous pouvez donc utiliser des entiers avec les fonctions GMP sans perte de vitesse. </para> <para> Voir aussi <function>gmp_init</function>. </para> </note> <para> <example> <title>Factorielle avec GMP</title> <programlisting role="php"><?phpfunction fact($x) { if($x <= 1) return 1; else return gmp_mul($x,fact($x-1));}print gmp_strval(fact(1000))."\n";?> </programlisting> </example> Cet exemple va calculer factorielle de 1000 (un plutôt grand nombre) très vite. </para> </partintro> <refentry id="function.gmp-init"> <refnamediv> <refname>gmp_init</refname> <refpurpose>Crée un nombre GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_init</function></funcdef> <paramdef>mixed <parameter>number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_init</function> crée un nombre GMP, à partir d'un entier ou d'une chaîne. Les chaînes peuvent être en décimal ou en hexadécimal. Dans ce dernier cas, la chaîne doit commencer par<literal>0x</literal>. </para> <para> <example> <title>Création d'un nombre GMP</title> <programlisting role="php"><?php $a = gmp_init(123456); $b = gmp_init("0xFFFFDEBACDFEDF7200");?> </programlisting> </example> </para> <warning> <simpara> Si vous devez explicitement spécifier un entier de grande taille, faites le avec une chaîne. Sinon, PHP va interpréter l'entier littéralement, et vous y perdrez en précision avant que les fonctions <literal>GMP</literal> n'entre en jeu. </simpara> </warning> <note> <para> Il n'est pas nécessaire d'appeler <function>gmp_init</function> si vous voulez utiliser des entiers ou des chaînes à la place de nombre GMP dans les fonctions GMP, comme par exemple <function>gmp_add</function>. Les arguments de ces fonctions sont automatiquement convertis en nombres GMP, si cette conversion est possible et nécessaire, en utilisant les mêmes règles que <function>gmp_init</function>. </para> </note> </refsect1> </refentry> <refentry id="function.gmp-intval"> <refnamediv> <refname>gmp_intval</refname> <refpurpose>Convertit un nombre GMP en entier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_intval</function></funcdef> <paramdef>resource <parameter>gmpnumber</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_intval</function> convertit un nombre GMP en entier. <warning> <simpara> <function>gmp_intval</function> retourne un résultat cohérent uniquement si le nombre GMP peut être représenté par un entier PHP (i.e. type long signé). Si vous vous voulez simplement afficher un nombre GMP, utilisez plutôt <function>gmp_strval</function>. </simpara> </warning> </para> </refsect1> </refentry> <refentry id="function.gmp-strval"> <refnamediv> <refname>gmp_strval</refname> <refpurpose>Convertit un nombre GMP en chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>gmp_strval</function></funcdef> <paramdef>resource <parameter>gmpnumber</parameter></paramdef> <paramdef>int <parameter><optional>base</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_strval</function> convertit un nombre GMP en chaîne de caractères, dans la base <parameter>base</parameter>. La base par défaut est 10. Les valeurs possibles vont de 2 à 36. </para> <para> <example> <title>Conversion d'un nombre GMP en chaîne</title> <programlisting role="php"><?php $a = gmp_init("0x41682179fbf5"); printf("Décimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36));?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.gmp-add"> <refnamediv> <refname>gmp_add</refname> <refpurpose>Addition de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_add</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_add</function> additionne les nombres GMP <parameter>a</parameter> et <parameter>b</parameter>. Le résultat est un nombre GMP. </para> </refsect1> </refentry> <refentry id="function.gmp-sub"> <refnamediv> <refname>gmp_sub</refname> <refpurpose>Soustraction de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_sub</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sub</function> soustrait le nombre GMP <parameter>b</parameter> de <parameter>a</parameter>. Le résultat est un nombre GMP. </para> </refsect1> </refentry> <refentry id="function.gmp-mul"> <refnamediv> <refname>gmp_mul</refname> <refpurpose>Multiplication de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_mul</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_mul</function> multiplie les nombres GMP <parameter>a</parameter> et <parameter>b</parameter>. Le résultat est un nombre GMP. </para> </refsect1> </refentry> <refentry id="function.gmp-div-q"> <refnamediv> <refname>gmp_div_q</refname> <refpurpose>Divisions de 2 nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_div_q</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> <paramdef>int <parameter><optional>round</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div_q</function> divise le nombre GMP <parameter>b</parameter> par <parameter>a</parameter>. Le résultat est un entier. L'arrondi du résultat est défini par <parameter>round</parameter>, qui peut prendre l'une des valeurs suivantes : <itemizedlist> <listitem> <simpara> <parameter>GMP_ROUND_ZERO</parameter>: Le résultat est tronqué vers 0. </simpara> </listitem> <listitem> <simpara> <parameter>GMP_ROUND_PLUSINF</parameter>: Le résultat est tronqué vers <literal>+infinity</literal> </simpara> </listitem> <listitem> <simpara> <parameter>GMP_ROUND_MINUSINF</parameter>: Le résultat est tronqué vers <literal>-infinity</literal> </simpara> </listitem> </itemizedlist> </para> <simpara> <function>gmp_div_q</function> peut aussi être appelée <function>gmp_div</function>. </simpara> <para> Voir aussi <function>gmp_div_r</function> et <function>gmp_div_qr</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-div-r"> <refnamediv> <refname>gmp_div_r</refname> <refpurpose>Reste de la division de deux nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_div_r</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> <paramdef>int <parameter><optional>round</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div_r</function> le reste de la division entière de <parameter>n</parameter> par <parameter>d</parameter>. Le reste a le même signe que <parameter>n</parameter>, s'il est non nul. </para> <para> Voir <function>gmp_div_q</function> pour une description du paramètre <parameter>round</parameter>. </para> <para> Voir aussi <function>gmp_div_q</function> et <function>gmp_div_qr</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-div-qr"> <refnamediv> <refname>gmp_div_qr</refname> <refpurpose>Divise deux nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>gmp_div_qr</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> <paramdef>int <parameter><optional>round</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div_qr</function> divise <parameter>n</parameter> par <parameter>d</parameter> et retourne un tableau, dont le premier élément est <literal>[n/d]</literal> (le quotient entier de la division) et le second est <literal>(n - [n/d] * d)</literal> (le reste). </para> <para> Voir <function>gmp_div_q</function> pour une description du paramètre <parameter>round</parameter>. </para> <para> <example> <title>Division de nombres GMP</title> <programlisting role="php"><?php $a = gmp_init("0x41682179fbf5"); $res = gmp_div_qr($a, "0xDEFE75"); printf("Le résultat est: q - %s, r - %s", gmp_strval($res[0]), gmp_strval($res[1]));?> </programlisting> </example> </para> <para> Voir aussi <function>gmp_div_q</function> et <function>gmp_div_r</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-div"> <refnamediv> <refname>gmp_div</refname> <refpurpose>Divise deux nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_div</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_div</function> est un alias de <function>gmp_div_q</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-mod"> <refnamediv> <refname>gmp_mod</refname> <refpurpose>Modulo GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_mod</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_mod</function> calcule <parameter>n</parameter> modulo <parameter>d</parameter>. Le résultat est toujours positif ou nul, car le signe de <parameter>d</parameter> est ignoré. </para> </refsect1> </refentry> <refentry id="function.gmp-divexact"> <refnamediv> <refname>gmp_divexact</refname> <refpurpose>Division exacte de nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_divexact</function></funcdef> <paramdef>resource <parameter>n</parameter></paramdef> <paramdef>resource <parameter>d</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_divexact</function> divis <parameter>n</parameter> par <parameter>d</parameter>, en utilisant les algorithmes de "division exacte". Cette fonction ne fournit de résultats cohérents que s'il est su par avance que <parameter>d</parameter> divise <parameter>n</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-cmp"> <refnamediv> <refname>gmp_cmp</refname> <refpurpose>Compare des nombres GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_cmp</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_cmp</function> retourne une valeur positive si <literal>a > b</literal>, zéro si <literal>a = b</literal> et négative si <literal>a < b</literal>. </para> </refsect1> </refentry> <refentry id="function.gmp-neg"> <refnamediv> <refname>gmp_neg</refname> <refpurpose>Opposé de nombre GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_neg</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_neg</function> retourne l'opposé de <parameter>a</parameter> (-1 * <parameter>a</parameter>). </para> </refsect1> </refentry> <refentry id="function.gmp-abs"> <refnamediv> <refname>gmp_abs</refname> <refpurpose>Valeur absolue GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_abs</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_abs</function> retourne la valeur absolue de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-sign"> <refnamediv> <refname>gmp_sign</refname> <refpurpose>Signe du nombre GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_sign</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sign</function> retourne le signe de <parameter>a</parameter> : 1 si <parameter>a</parameter> est positif et -1 s'il est négatif. </para> </refsect1> </refentry> <refentry id="function.gmp-fact"> <refnamediv> <refname>gmp_fact</refname> <refpurpose>Factorielle GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_fact</function></funcdef> <paramdef>int <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_fact</function> calcule la factorielle de <parameter>a</parameter> : <literal>a!</literal>. </para> </refsect1> </refentry> <refentry id="function.gmp-sqrt"> <refnamediv> <refname>gmp_sqrt</refname> <refpurpose>Racine carrée GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_sqrt</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sqrt</function> calcule la racine carrée de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-sqrtrm"> <refnamediv> <refname>gmp_sqrtrm</refname> <refpurpose>Racine carrée avec reste GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>gmp_sqrtrm</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_sqrtrm</function> retourne un tableau dont le premier élément est la racine carrée entière de <parameter>a</parameter> (voir aussi <function>gmp_sqrt</function>), et le second est le reste de (i.e., la différence entre <parameter>a</parameter> et le carré du premier élément). </para> </refsect1> </refentry> <refentry id="function.gmp-perfect-square"> <refnamediv> <refname>gmp_perfect_square</refname> <refpurpose>Carré parfait GMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>gmp_perfect_square</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_perfect_square</function> retourn &true; si <parameter>a</parameter> est un carré parfait, et &false; sinon. </para> <para> Voir aussi <function>gmp_sqrt</function> et <function>gmp_sqrtrm</function>. </para> </refsect1> </refentry> <refentry id="function.gmp-pow"> <refnamediv> <refname>gmp_pow</refname> <refpurpose>Puissance</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_pow</function></funcdef> <paramdef>resource <parameter>base</parameter></paramdef> <paramdef>int <parameter>exp</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_pow</function> élève <parameter>base</parameter> à la puissance <parameter>exp</parameter>. Dans le cas de 0^0, <function>gmp_pow</function> retourne 1.<parameter>exp</parameter> ne doit pas être négatif. </para> </refsect1> </refentry> <refentry id="function.gmp-powm"> <refnamediv> <refname>gmp_powm</refname> <refpurpose>Puissance et modulo</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_powm</function></funcdef> <paramdef>resource <parameter>base</parameter></paramdef> <paramdef>resource <parameter>exp</parameter></paramdef> <paramdef>resource <parameter>mod</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_powm</function> calcule (<parameter>base</parameter> puissnace <parameter>exp</parameter>) modulo <parameter>mod</parameter>. Si <parameter>exp</parameter> est négatif, le résultat est indéfini. </para> </refsect1> </refentry> <refentry id="function.gmp-prob-prime"> <refnamediv> <refname>gmp_prob_prime</refname> <refpurpose>Nombre GMP probablement premier</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_prob_prime</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>int <parameter><optional>reps</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> Si <function>gmp_prob_prime</function> retourne 0, <parameter>a</parameter> est défini comme non premier. Si <function>gmp_prob_prime</function> retourne 1, alors <parameter>a</parameter> est "probablement" premier. Si <function>gmp_prob_prime</function> retourne 2, alors <parameter>a</parameter> est sûrement premier. <parameter>reps</parameter> peut raisonnablement varier de 5 à 10 (par défaut, c'est 10); une valeur supérieure réduit la probabilité qu'un nombre non premier soit identifié comme "probablement" premier. </para> <para> <function>gmp_prob_prime</function> utilise le test de probabilité Miller-Rabin. </para> </refsect1> </refentry> <refentry id="function.gmp-gcd"> <refnamediv> <refname>gmp_gcd</refname> <refpurpose>PGCD</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_gcd</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_gcd</function> calcule de PGCD (plus grand commun diviseur) de <parameter>a</parameter> et <parameter>b</parameter>. Le résultat est toujours positif, même si l'un des deux (ou les deux) nombres est négatif. </para> </refsect1> </refentry> <refentry id="function.gmp-gcdext"> <refnamediv> <refname>gmp_gcdext</refname> <refpurpose>PGCD étendu</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>gmp_gcdext</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_gcdext</function> calcule les entiers g, s, et t, tels que <literal>a*s + b*t = g = gcd(a,b)</literal>, où gcd est le pgcd de <parameter>a</parameter> et <parameter>b</parameter>. La fonction retourne un tableau avec les éléments g, s et t. </para> </refsect1> </refentry> <refentry id="function.gmp-invert"> <refnamediv> <refname>gmp_invert</refname> <refpurpose>Inverse modulo</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_invert</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_invert</function> calcule l'inverse de <parameter>a</parameter> modulo <parameter>b</parameter>. <function>gmp_invert</function> retourne &false; si un tel inverse n'existe pas. </para> </refsect1> </refentry> <refentry id="function.gmp-legendre"> <refnamediv> <refname>gmp_legendre</refname> <refpurpose>Symbole de Legendre</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_legendre</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>p</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_legendre</function> calcule le <ulink url="&url.symbole-legendre;"> symbole de Legendre</ulink> de <parameter>a</parameter> et <parameter>p</parameter>. <parameter>p</parameter> doit être positif et impair. </para> </refsect1> </refentry> <refentry id="function.gmp-jacobi"> <refnamediv> <refname>gmp_jacobi</refname> <refpurpose>Symbole de Jacobi</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_jacobi</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>p</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_jacobi</function> calcule le <ulink url="http://www.utm.edu/research/primes/glossary/JacobiSymbol.html"> symbole de Jacobi</ulink> de <parameter>a</parameter> et <parameter>p</parameter>. <parameter>p</parameter> doit être positif et impair. </para> </refsect1> </refentry> <refentry id="function.gmp-random"> <refnamediv> <refname>gmp_random</refname> <refpurpose>Nombre GMP aléatoire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_random</function></funcdef> <paramdef>int <parameter>limiter</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_random</function> génère un nombre aléatoire. Ce nombre est limité par <parameter>limiter</parameter>. Si <parameter>limiter</parameter> est négatif, un nombre négatif est généré. </para> </refsect1> </refentry> <refentry id="function.gmp-and"> <refnamediv> <refname>gmp_and</refname> <refpurpose>ET logique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_and</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_and</function> calcule le ET logique de <parameter>a</parameter> et <parameter>b</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-or"> <refnamediv> <refname>gmp_or</refname> <refpurpose>OU logique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_or</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_or</function> calcule le OU logique de <parameter>a</parameter> et <parameter>b</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-xor"> <refnamediv> <refname>gmp_xor</refname> <refpurpose>OU exclusif logique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_xor</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_or</function> calcule le OU exclusif logique de <parameter>a</parameter> et <parameter>b</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-setbit"> <refnamediv> <refname>gmp_setbit</refname> <refpurpose>Modifie un bit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_setbit</function></funcdef> <paramdef>resource <parameter>&a</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> <paramdef>boolean <parameter><optional>set_clear</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_setbit</function> modifie le bit <parameter>index</parameter> dans <parameter>a</parameter>. <parameter>set_clear</parameter> indique si le bit est mis à 0 ou 1. Par défaut, il est mis à 1. </para> </refsect1> </refentry> <refentry id="function.gmp-clrbit"> <refnamediv> <refname>gmp_clrbit</refname> <refpurpose>Annule un bit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>gmp_clrbit</function></funcdef> <paramdef>resource <parameter>&a</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_clrbit</function> met le bit <parameter>index</parameter> à 0 dans le nombre GMP <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-scan0"> <refnamediv> <refname>gmp_scan0</refname> <refpurpose>Recherche 0</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_scan0</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_scan0</function> recherche dans <parameter>a</parameter>, en commençant à la position <parameter>start</parameter>, vers les bits de poids lourd, jusqu'à ce qu'elle rencontre un bit à 0. Sa position est alors retournée. </para> </refsect1> </refentry> <refentry id="function.gmp-scan1"> <refnamediv> <refname>gmp_scan1</refname> <refpurpose>Recherche 1</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_scan1</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_scan1</function> recherche dans <parameter>a</parameter>, en commençant à la position <parameter>start</parameter>, vers les bits de poids lourd, jusqu'à ce qu'elle rencontre un bit à 1. Sa position est alors retournée. </para> </refsect1> </refentry> <refentry id="function.gmp-popcount"> <refnamediv> <refname>gmp_popcount</refname> <refpurpose>Compte de population</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_popcount</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_popcount</function> dénombre la population de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-hamdist"> <refnamediv> <refname>gmp_hamdist</refname> <refpurpose>Distance de Hamming</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>gmp_hamdist</function></funcdef> <paramdef>resource <parameter>a</parameter></paramdef> <paramdef>resource <parameter>b</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_hamdist</function> retourne la distance de Hamming entre <parameter>a</parameter> et <parameter>b</parameter>. Les deux paramètres doivent être strictement positifs. </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/http.xml diff -u phpdoc/fr/functions/http.xml:1.9 phpdoc/fr/functions/http.xml:1.10 --- phpdoc/fr/functions/http.xml:1.9 Tue Jul 31 02:47:42 2001 +++ phpdoc/fr/functions/http.xml Mon Nov 12 00:10:20 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.http"> <title>HTTP</title> <titleabbrev>HTTP</titleabbrev> @@ -47,14 +49,32 @@ <informalexample> <programlisting role="php"> <?php - header("Location: http://www.php.net/"); + header("Location: http://www.php.net/"); /* Redirige le client vers le site PHP */ - exit(); -/* Assure que le code ci-dessous n'est jamais exécuté. */ + exit(); +/* Garantit que le code ci-dessous n'est jamais exécuté. */ ?> </programlisting> </informalexample> </para> + <note> + <para> + HTTP/1.1 demande une <acronym>URI</acronym> absolue comme argument + de <ulink url="&spec.http1.1;-sec14.html#sec14.30">Location:</ulink>, + y compris le protocole, hôte et chemin absolu. Mais certains + navigateurs acceptent les URI relatives. Vous pouvez généralement + utiliser les variables globales $HTTP_SERVER_VARS['HTTP_HOST'], + $HTTP_SERVER_VARS['PHP_SELF'] et <function>dirname</function> pour + construire vous-même une URI absolue : + <informalexample> + <programlisting> +header("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST'] + ."/".dirname($HTTP_SERVER_VARS['PHP_SELF']) + ."/".$relative_url); + </programlisting> + </informalexample> + </para> + </note> <para> Le deuxième type d'appel spécial regroupe toutes les en-têtes qui commencent par "HTTP/" (la casse n'est @@ -65,11 +85,23 @@ <informalexample> <programlisting role="php"> <?php - header("http/1.0 404 Not Found"); + header("HTTP/1.0 404 Not Found"); ?> </programlisting> </informalexample> </para> + <note> + <para> + En PHP 3, cela ne fonctionne que si PHP est compilé comme + module Apache. Vous pouvez arriver au même au résultat + en utilisant l'entête <literal>Status</literal>. + <informalexample> + <programlisting role="php"> +header("Status: 404 Not Found"); + </programlisting> + </informalexample> + </para> + </note> <para> Les scripts PHP génèrent souvent du HTML dynamiquement, qui ne doit pas être mis en cache, ni par le client, ni par les @@ -86,6 +118,22 @@ </programlisting> </informalexample> </para> + <note> + <para> + Vous pouvez vous rendre compte que vos pages ne sont jamais mises + en cache même si vous utilisez toutes les entêtes ci-dessus. + Il existe toute une collection de paramètres que les utilisateurs + peuvent modifier sur leur navigateur pour modifier le + comportement par défaut du cache. En envoyant les entêtes + ci-dessus, vous pouvez imposer vos propres valeurs. + </para> + <para> + De plus, les paramètres <function>session_cache_limiter</function> et + <literal>session.cache_limiter</literal> peuvent être utilisé pour + générer les entêtes de caches corrects, lorsque les sessions sont + utilisées. + </para> + </note> <para> N'oubliez jamais que <function>header</function> doit être appelée avant que le moindre contenu ne soit envoyé, soit par des @@ -104,12 +152,54 @@ <?php header("Content-Type: audio/x-pn-realaudio"); ?> + // Erreur : Notez la ligne blanche ci-dessus </programlisting> </informalexample> </para> + <note> <para> - Voir aussi <function>headers_sent</function>. + En PHP 4, vous pouvez utiliser le système de cache (output buffering) + pour contourner ce problème. Tous vos textes générés seront + mis en buffer sur le serveur jusqu'à ce que vous les envoyiez. Vous pouvez + utiliser les fonctions <function>ob_start</function> et + <function>ob_end_flush</function> dans vos scripts, ou en + modifiant la directive de configuration <literal>output_buffering</literal> + dans votre fichier <filename>php.ini</filename> ou vos fichiers + de configuration du serveur. + </para> + </note> + <para> + Si vous voulez que vos utilisateur recoivent une alerte pour sauver + les fichiers générés, comme par exemple si vous générez un + fichier PDF, vous pouvez utiliser l'entête <ulink + url="&url.rfc2183;">Content-Disposition</ulink> pour + fournir un nom de fichier par défaut, à afficher dans le + dialogue de sauvegarde. + <informalexample> + <programlisting role="php"> +<?php +header("Content-type: application/pdf"); +header("Content-Disposition: attachment; filename=downloaded.pdf"); + +/* ... output pdf file ... */ + </programlisting> + </informalexample> + <note> + <para> + Il y a un bug sous Microsoft Internet Explorer 4.01 qui empêche + cet entête de fonctionner. Il n'y a pas d'autre solution. + Il y a aussi un bug dans Microsoft Internet Explorer 5.5 qui + interfère avec ceci, mais qui peut être résolu en utilisant + le Service Pack 2 ou plus récent. + </para> + </note> + </para> + <para> + Voir aussi + <function>headers_sent</function>, + <function>setcookie</function>, et la section sur + <link linkend="features.http-auth">l'authentification HTTP </link>. </para> </refsect1> </refentry> Index: phpdoc/fr/functions/hw.xml diff -u phpdoc/fr/functions/hw.xml:1.9 phpdoc/fr/functions/hw.xml:1.10 --- phpdoc/fr/functions/hw.xml:1.9 Sat Jul 7 18:22:10 2001 +++ phpdoc/fr/functions/hw.xml Mon Nov 12 00:10:20 2001 @@ -1,2042 +1 @@ - <reference id="ref.hyperwave"> - <title>Hyperwave</title> - <titleabbrev>Hyperwave</titleabbrev> - <partintro> - <sect1 id="hw-intro"> - <title>Introduction</title> - <para> - <productname>Hyperwave</productname> a été developpé par - <ulink url="http://www.iicm.edu">IICM</ulink> à Graz. Son nom - original était <acronym>Hyper-G</acronym> et il a pris le nom de - Hyperwave lors de sa commercialisation (en 1996, si mes souvenirs sont bons). - </para> - <para> - Hyperwave n'est pas gratuit. La version actuelle est la 4.1, disponible à - <ulink url="http://www.hyperwave.com/">www.hyperwave.com</ulink>. Une version - limitée à 30 jours peut être demandée. - </para> - <para> - <acronym>HIS</acronym> est un système d'information similaire à - une base de données, (HIS, Hyperwave Information Server). HIS se - concentre sur l'enregistrement et la gestion des documents. Un document peut - être n'importe quelle donnée, qui peut être stockée - dans un fichier. Chaque document est accompagné par un enregistrement. - Cet enregistrement contient des méta données à propos - du document. Ces méta données sont des listes d'attributs qui - peuvent être étendues par l'utilisateur. Un attribut est une paire - clé/valeur de la forme : clé =valeur. L'enregistrement complet - contient autant de paire que le désire l'utilisateur. Le nom d'un - attribut n'a pas besoin d'être unique, c'est à dire qu'une - même clé peut apparaître plusieurs fois dans un - enregistrement. Cela peut être utile si vous devez donner un - titre à votre document en plusieurs langues, par exemple. Dans un - cas pareil, la convention est que chaque valeur de titre est - précédée par deux lettres et deux points, tel que : - 'fr:Titre en français' ou 'ge:Titel in deutsch'. D'autres attributs - comme une description ou des mots clés sont aussi suceptibles de - recourir à ce genre de procédé. Vous pouvez aussi - remplacer l'abréviation de langage par une autre chaîne, - tant qu'elle est séparée de la valeur par les deux points. - </para> - <para> - Chaque enregistrement a une représentation native qui contient toutes - les paires clé/valeur, séparées par un retour à - la ligne. L'extension Hyperwave reconnaît une autre représentation - qui est un tableau associatif, oú les attributs servent de clés. - Les attributs multilingues étant géré sous la forme d'un - autre tableau associatif, dont les clés sont les chaînes de - langue. En fait, tous les attributs multiformes sont gérés - sous la forme de tableau associatif. (Cela n'est pas encore complètement - codé. Uniquement les attributs de titre, description et mot clés - sont traités correctement). - </para> - <para> - En dehors des documents, tous les hyper liens contenus dans un documents sont - enregistrés dans un autre enregistrement. Les hyperliens qui sont - à l'intérieur d'un document en seront supprimés, et - enregistrés dans des objets particuliers, au moment de l'insertion - dans la base de données. L'enregistrement des hyper-liens - contient les informations d'origine et d'objectif. Afin d'accéder - au document original, vous devre lire le document sans les liens, puis lire - les liens, et les réinsérer (les - <function>hw_pipedocument</function> et <function>hw_gettext</function> le - font pour vous. L'avantage de séparer les liens du document est - évident : une fois qu'un document, cible d'un hyperlien, a - été renommé, le liens peut facilement être - modifié. Le document contenant le lien n'est pas modifié - pour autant. Vous pouvez même ajouter un lien à un document sans - le modifier. - </para> - <para> - Dire que <function>hw_pipedocument</function> et <function>hw_gettext</function> - font l'insertion automatiquement n'est pas aussi simple qu'il n'y paraît. - L'insertion implique une certaine hiérarchie de document. Sur un serveur - web, la hiérarchie est fournie par le système de fichiers, mais - Hyperwave dispose de sa propre hiérarchie et les noms de fichiers ne - reflètent pas la position d'un objet dans cette hiérarchie. - Ainsi, la création de liens requière en premier lieu - la construction de la hiérarchie et de l'espace des noms dans - une hiérarchie web et un espace de nom web. La différence - fondamentale entre Hyperwave et le web est qu'il y a une distinction claire - en les noms et la hiérarchie dans Hyperwave. Le nom ne contient aucune - information à propos de la position de l'objet dans la hiérarchie. - Sur le web, le nom contient les informations de localisation dans la - hiérarchie. Cela conduit à deux méthodes de d'accès : - soit la hiérarchie Hyperwave et le nom de l'objet sont inscrit dans - l'URL. Pour simplifier les choses, une deuxième approche est - pratiquée. L'objet Hyperwave de nom 'mon_objet' correspond à - l'URL 'http://hote/mon_objet', peu importe alors oú il est rangé - dans la hiérarchie. Un objet dont le nom est 'parent/mon_objet' peut - être le fils de l'objet 'mon_objet' dans la hiérarchie Hyperwave, - bien que ce soit le contraire en convention web, et cela risque de perturber - l'utilisateur. - </para> - <para> - Ayant pris cette décision, un deuxième problème surgit : - comment faire l'interface avec PHP ? L' URL http://hote/mon_objet n'appelera - aucun script PHP à moins que vous ne demandiez à votre serveur - web de le remplacer par autre chose, comme par exemple : - 'http://host/php3_script/mon_objet' et le script 'php3_script' utilise la - variable $PATH_INFO pour rechercher l'objet 'mon_objet' sur le serveur Hyperwave. - Il y a juste un petit inconvénient , qui peut facilement être - corrigé. Réécrire une URL ne vous permettra aucun - accès aux autres documents du serveur web. Un script de recherche - dans le serveur Hyperwave serait impossible. Il vous faudra donc au moins - une autre règle pour exclure certaines URL, comme par exemple celles - qui commencent par http://host/Hyperwave. Voici de manière simple, - la manière de partager un espace de nom entre un serveur web et un - serveur Hyperwave serveur. - </para> - <para> - Basé sur le mécanisme précédent, on trouve - l'insertion dans les documents. - </para> - <para> - Il est plus compliqué d'avoir PHP ne fonctionne pas comme un module - de serveur, ou un scrip CGI, mais comme une application indépendante. - Dans ce cas, il est utile d'inscrire la hiérarchie et le nom de fichier - Hyperwave dans le système de fichier. Mais comme cela risque d'entrer - en conflit avec le séparateur de dossier ('/'), il faut le remplacer - par un autre caractère,. '_'. - </para> - <para> - Le protocole réseau pour communiquer avec un serveur Hyperwave est - appelé <ulink url="http://www.hyperwave.de/7.17-hg-prot">HG-CSP</ulink> - (Hyper-G Client/Server Protocol). Il est basé sur des messages qui - initie des actions, comme par exemple, lire l'entête de fichier. Dans - les premières versions de Hyperwave Server deux clients natifs - (Harmony, Amadeus) étaient fournis pour permettre la communication - avec le serveur. Ils ont disparu lors de la commercialisation de Hyperwave. - En tant qu'ersatz, un client appelé wavemaster est désormais - fourni. wavemaster est un espèce ce convertisseur de protocole de - <abbrev>HTTP</abbrev> en <abbrev>HG-CSP</abbrev>. L'idée est de faire - toute l'administration de la base et la visualisation des documents par une - interface web. Le wavemaster implémente un jeu d'emplacement pour - certaines actions de personnalisation de l'interface. Ce jeu est appelé - <abbrev>PLACE</abbrev> language. <abbrev>PLACE</abbrev> pêche encore par - le manque de nombreuse fonctions de programmations, et le manque - d'évolutivité. Cela a conduit à l'utilisation de - JavaScript ce qui ne rend pas la vie facile. - </para> - <para> - Que PHP supporte Hyperwave permet de combler ces manques. PHP implémente - tous les messages définis par <abbrev>HG-CSP</abbrev> mais fourni - d'autres commandes puissantes, comme par exemple, celle de lire des documents - complets. - </para> - <para> - Hyperwave dispose de sa propre terminologie pour localiser certaines - informations. Cette terminologie a été largement étendue. - Presque toutes les fonctions utilisent l'un des types de données - suivants : - <itemizedlist> - <listitem> - <simpara> - object ID: un entier, unique pour chaque objet sur le serveur Hyperwave. C'est - aussi un des attributs de l'enregistrement de l'objet (ObjectID).Les object ids - sont souvent utilisées comme paramètre d'entrée pour - spécifier un objet. - </simpara> - </listitem> - <listitem> - <simpara> - object record: Une chaîne contenant des paires clé=valeur. Les - paires sont séparées par un retour à la ligne. Un - enregistrement d'objet peut facilement être converti en tableau, avec - la fonction <function>hw_objrec2array</function>. De nombreuses fonctions - retournent un object records. Ces fonctions ont leur nom qui finit par obj. - </simpara> - </listitem> - <listitem> - <simpara> - object array: Un tableau associatif qui contient tous les attributs d'un objet. - La clé est l'attribut. Si un attribut apparaît plusieurs fois, il - sera représenté sous la forme d'un tableau associatif ou - indexé. Les attributs qui dépendent des langues (comme title, - keyword ou description) seront représentés sous la forme d'un - tableau associatif, dont les clés seront les abréviations de - langues. Tous les autres attributs à valeur multiple prendront la - forme d'un tableau indexé. - </simpara> - </listitem> - <listitem> - <simpara> - hw_document: Ce type est un nouveau type de données, qui contient le - document lui même, comme par exemple HTML, PDF etc. Il est - optimisé pour les documents HTML mais peut s'utiliser avec n'importe - quel format. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - De nombreuses fonctions qui retournent un tableau d'enregistrements, retournent - aussi un tableau associé, avec des informatiosn statistiques. Ce tableau - est le dernier élément du tableau d'enregistrements. Les - statistiques contiennent les entrées suivantes : - <variablelist> - <varlistentry> - <term>Hidden</term> - <listitem> - <simpara> - Nombre d'objets dont l'attribut PresentationHints est Hidden. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>CollectionHead</term> - <listitem> - <simpara> - Nombre d'objet dont l'attribut PresentationHints est CollectionHead. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>FullCollectionHead</term> - <listitem> - <simpara> - Nombre d'objet dont l'attribut PresentationHints est FullCollectionHead. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>CollectionHeadNr</term> - <listitem> - <simpara> - Index du premier objet du tableau d'enregistrement avec l'attribut - PresentationHints à CollectionHead. - </simpara></listitem> - </varlistentry> - <varlistentry> - <term>FullCollectionHeadNr</term> - <listitem> - <simpara> - Index du premier objet du tableau d'enregistrement avec l'attribut - PresentationHints est FullCollectionHead. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>Total</term> - <listitem> - <simpara> - Total: Nombre d'enregistrements. - </simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - </sect1> - <sect1 id="hw-apache"> - <title>Intégration avec Apache</title> - <para> - L'extension Hyperwave est utilisée de manière optimale lorsque - PHP est compilé comme module Apache. Dans ce cas, le serveur Hyperwave - sous jacent peut être caché quasiment totalement aux utilisateurs, - si Apache utilise son moteur d'écriture. Les explications suivantes vous - éclaireront : - </para> - <para> - Etant donné que PHP avec l'extension Hyperwave et Apache tend à - remplacer la solution native basé sur Wavemaster, je vais supposer que - le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas - nécessaire, mais cela simplifie grandment la configuration. Le - concept est très simple. Premièrement, vous avez besoin d'un - script PHP qui évalue la variable <envar>PATH_INFO</envar> et - considère que cette valeur est un objet Hyperwave. Appelons ce script - 'Hyperwave'. L'URL - <systemitem role="url">http://votre.hote/Hyperwave/nom_objet</systemitem> - retourne alors l'objet Hyperwave dont le nom est 'nom_objet'. Le script doit - alors réagir suivant le type de l'objet. Si c'est un groupe, il devra - probablement retourner une liste de fils. Si c'est un document, il pourra - retourner son type MIME et son contenu. Une amélioration peut - être obtenue en utilisant le moteur de réécriture d'Apache. - D'un point de vue utilisateur, il est plus direct si l'URL - <systemitem role="url">http://votre.hote/nom_objet</systemitem> - retourne l'objet. La règle de réécriture est simple : - <informalexample> - <programlisting role="apache-conf"> -RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L] - </programlisting> - </informalexample> - Maintenant toutes les URL pointent sur un objet Hyperwave. Cela conduit à - un problème simple. Il n'y a pas d'autre façon d'exécuter, - c'est à dire rechercher, un autre script que ce script 'Hyperwave'. - Cela pourra être corrigé avec une autre règle telle que: - <informalexample> - <programlisting role="apache-conf"> -RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L] - </programlisting> - </informalexample> - Le dossier <filename class="directory">/usr/local/apache/htdocs/hw</filename> - sera ainsi reservé pour d'autres scripts et fichiers. Assurez vous que - cette règle est évaluée avant la première - règle que nous avons définie. Il y a juste un léger - inconvénient : tous les objets Hyperwave qui commencent par 'hw/' seront - cachés. Alors, assurez vous que vous n'utilisez pas de tels noms. Si vous - avez besoin d'autres dossiers, par exemple, un dossier d'images, ajoutez - simplement d'autres règles. N'oubliez pas de lancer le moteur de - réécriture avec - <informalexample> - <programlisting role="apache-conf"> -RewriteEngine on - </programlisting> - </informalexample> - Mon expérience m'a montré que vous aurez besoin - des scripts suivants : - <itemizedlist> - <listitem> - <simpara> - Retourne l'objet lui même - </simpara> - </listitem> - <listitem> - <simpara> - Pour autoriser la recherche - </simpara> - </listitem> - <listitem> - <simpara> - S'identifier - </simpara> - </listitem> - <listitem> - <simpara> - Choisir une configuration - </simpara> - </listitem> - <listitem> - <simpara> - Un script pour chaque fonction supplémentaire, comme afficher - un objet, afficher des informations sur les utilisateurs, afficher - le statut du serveur, etc... - </simpara> - </listitem> - </itemizedlist> - </para> - </sect1> - <sect1 id="hw-todo"> - <title>A faire</title> - <para> - Il reste encore beaucoup à faire : - <itemizedlist> - <listitem> - <simpara> - La fonction hw_InsertDocument doit être séparée - en deux : <function>hw_insertobject</function> et - <function>hw_putdocument</function>. - </simpara> - </listitem> - <listitem> - <simpara> - Les noms de nombreuses fonctions ne sont pas encore fixés. - </simpara> - </listitem> - <listitem> - <simpara> - La plupart des fonctions requièrent la connexion courante - comme premier paramètre. Cela conduit à beaucoup de frappe - clavier, même si il n'y a souvent qu'une seule connexion en jeu. - Une connexion par défaut améliorerait ceci. - </simpara> - </listitem> - </itemizedlist> - </para> - </sect1> - </partintro> - <refentry id="function.hw-array2objrec"> - <refnamediv> - <refname>hw_Array2Objrec</refname> - <refpurpose>Convertit un tableau en un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_array2objrec</function></funcdef> - <paramdef>array <parameter>object_array</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_array2objrec</function> convertit un - <parameter>object_array</parameter> en un objet. Les attributs multiples - tels que 'Title' en différentes langues seront traités - correctement. - </para> - <para> - Voir aussi <function>hw_objrec2array</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-children"> - <refnamediv> - <refname>hw_Children</refname> - <refpurpose>Liste des object ids des objets fils.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_children</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_children</function> retourne un tableau avec des object ids. - Chaque object id est celui d'un des fils du groupe dont l'id est - <parameter>objectID</parameter>. Ce tableau contient tous les fils, - documents et groupes. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-childrenobj"> - <refnamediv> - <refname>hw_ChildrenObj</refname> - <refpurpose>Liste des object records des objets fils.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_childrenobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_childrenobj</function> retourne un tableau avec des - object records. Chaque object records est celui d'un des fils du groupe - dont l'id est <parameter>objectID</parameter>. - Ce tableau contient tous les fils, documents et groupes - </para> - </refsect1> - </refentry> - <refentry id="function.hw-close"> - <refnamediv> - <refname>hw_Close</refname> - <refpurpose>Ferme la connexion Hyperwave.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_close</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_close</function> retourne &false; si la connexion n'est pas valide, - et sinon, &true;. Ferme la connexion connection à un serveur Hyperwave. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-connect"> - <refnamediv> - <refname>hw_Connect</refname> - <refpurpose>Ouvre une connexion Hyperwave.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_connect</function></funcdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>int <parameter>port</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_connect</function> ouvre une connexion Hyperwave et retourne - un identifiant de connexion, en cas de succès, ou &false;, si la - connexion n'a pas pu être créée. Chaque argument - doit être entouré de guillemets, sauf le numéro de - port. Les arguments <parameter>username</parameter> et - <parameter>password</parameter> sont optionnels, et peuvent être - ignorés. Dans ce cas, aucune identification ne sera faite au niveau - du serveur. Cela revient à s'identifier en tant qu'utilisateur anonyme. - Cette fonction retourne un identifiant de connexion qui sera nécessaire - aux autres fonctions Hyperwave. Vous pouvez avoir plusieurs connexions - simultanées. N'oubliez pas que les mots de passe ne sont pas - cryptés. - </para> - <para> - Voir aussi <function>hw_pconnect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-cp"> - <refnamediv> - <refname>hw_Cp</refname> - <refpurpose>Copie des objets.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_cp</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>array <parameter>object_id_array</parameter></paramdef> - <paramdef>int <parameter>destination_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_cp</function> copie les objets ayant les identifiants - <parameter>object_id_array</parameter>, et crée un groupe - ayant l'object id <parameter>destination_id</parameter>. - </para> - <para> - La valeur retournée est le nombre d'objets copiés. - </para> - <para> - Voir aussi <function>hw_mv</function>.</para> - </refsect1> - </refentry> - <refentry id="function.hw-deleteobject"> - <refnamediv> - <refname>hw_Deleteobject</refname> - <refpurpose>Efface des objets.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_deleteobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>object_to_delete</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_deleteobject</function> efface l'objet dont l'identifiant est - <parameter>object_to_delete</parameter>. Toutes les instances de l'objets - seront effacées. - </para> - <para> - <function>hw_deleteobject</function> retourne &true; - si aucune erreur ne survient, et sinon, &false;. - </para> - <para> - Voir aussi <function>hw_mv</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-docbyanchor"> - <refnamediv> - <refname>hw_DocByAnchor</refname> - <refpurpose>Identifiant d'objet de l'objet dans l'ancrage.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_docbyanchor</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>anchorID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_docbyanchor</function> retourne l'dentifiant d'objet de - l'objet dans l'ancrage <parameter>anchorID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-docbyanchorobj"> - <refnamediv> - <refname>hw_DocByAnchorObj</refname> - <refpurpose>Attributs de l'objet dans l'ancrage.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_docbyanchorobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>anchorID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_docbyanchorobj</function> retourne les attributs du - document qui correspond à <parameter>anchorID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentattributes"> - <refnamediv> - <refname>hw_DocumentAttributes</refname> - <refpurpose>Object record de hw_document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentattributes</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentattributes</function> retourne les attributs du document. - </para> - <para> - Voir aussi <function>hw_documentbodytag</function>, - <function>hw_documentsize</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentbodytag"> - <refnamediv> - <refname>hw_DocumentBodyTag</refname> - <refpurpose>Balise de corps d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentbodytag</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentbodytag</function> retourne la balise BODY du - document.Si le document est un document HTML , la balise BODY doit - être affichée avant le document. - </para> - <para> - Voir aussi <function>hw_documentattributes</function>, - <function>hw_documentsize</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentcontent"> - <refnamediv> - <refname>hw_DocumentContent</refname> - <refpurpose>Contenu d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentcontent</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentcontent</function> retourne la balise BODY du - document.Si le document est un document HTML , la balise BODY doit - être affichée avant le document. - </para> - <para> - Voir aussi <function>hw_documentattributes</function>, - <function>hw_documentsize</function>, - <function>hw_documentsetcontent</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentsetcontent"> - <refnamediv> - <refname>hw_DocumentSetContent</refname> - <refpurpose>Modifie/remplace le contenu d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_documentsetcontent</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentsetcontent</function> modifie/remplace le contenu - d'un document. Si le document est un document HTML, le contenu - représente tout qui est placé au dela de la balise BODY. - Les informations de HEAD et de la balise BODY sont enregistrés - dans les attributs. Si vous fournissez aussi ces informations dans le - corps du document, le serveur Hyperwave modifiera les attributs. Cela - n'est cependant pas une bonne idée. Si la fonction échoue, - l'ancien contenu est restauré. - </para> - <para> - Voir aussi <function>hw_documentattributes</function>, - <function>hw_documentsize</function>, - <function>hw_documentcontent</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-documentsize"> - <refnamediv> - <refname>hw_DocumentSize</refname> - <refpurpose>Taille d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_documentsize</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_documentsize</function> retourne la taille du document - en octets. - </para> - <para> - Voir aussi - <function>hw_documentbodytag</function> et - <function>hw_documentattributes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-errormsg"> - <refnamediv> - <refname>hw_ErrorMsg</refname> - <refpurpose>Retourne un message d'erreur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_errormsg</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_errormsg</function> retourne une chaîne contenant - le dernier message d'erreur, ou 'No Error' (pas d'erreur). Si &false; - est retourné, cette fonction a échoué. Ce message - est relatif à la dernière commande exécutée. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-edittext"> - <refnamediv> - <refname>hw_EditText</refname> - <refpurpose>Retourne un document texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_edittext</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_edittext</function> charge le texte du document sur le - serveur. Les attributs du document ne doivent pas être - modifiés tant que le document est en train d'être - édité. Cette fonction n'est disponible que sur les - documents texte. Elle n'ouvrira pas de canal de transfert, et donc, - bloquera le script durant le transfert. - </para> - <para> - Voir aussi - <function>hw_pipedocument</function>, - <function>hw_free_document</function>, - <function>hw_documentbodytag</function>, - <function>hw_documentsize</function>, - <function>hw_outputdocument</function> et - <function>hw_gettext</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-error"> - <refnamediv> - <refname>hw_Error</refname> - <refpurpose>Retourne le code d'erreur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_error</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_error</function> retourne le code d'erreur de la dernière - erreur. Si la valeur 0 est retournée, c'est qu'il n'y avait pas d'erreur. - L'erreur se rapporte à la dernière commande. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-free-document"> - <refnamediv> - <refname>hw_Free_Document</refname> - <refpurpose>Détruit un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_free_document</function></funcdef> - <paramdef>resource <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_free_document</function> détruit un document Hyperwave. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getparents"> - <refnamediv> - <refname>hw_GetParents</refname> - <refpurpose>Identifiant d'objet des parents.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getparents</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getparents</function> retourne un tableau indexé - avec les identifiants des objets parents de <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getparentsobj"> - <refnamediv> - <refname>hw_GetParentsObj</refname> - <refpurpose>Attributs des parents.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getparentsobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getparentsobj</function> retourne un tableau indexé, - avec les attributs et un tableau associé, d'informations statistiques - à propos des attributs. Ce tableau associé est le dernier - élément du tableau retourné. Chaque attribut - appartient au père de l'objet <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchildcoll"> - <refnamediv> - <refname>hw_GetChildColl</refname> - <refpurpose>Identifiant d'objet des groupes fils.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchildcoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchildcoll</function> retourne un tableau contenant les - identifiants d'objets des groupes fils du groupe - <parameter>objectID</parameter>. Cette fonction ne retournera pas - d'identifiants d'objets des documents fils. - </para> - <para> - Voir aussi <function>hw_getchilddoccoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchildcollobj"> - <refnamediv> - <refname>hw_GetChildCollObj</refname> - <refpurpose>object records d'un groupe d'enfants.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchildcollobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchildcollobj</function> retourne un tableau d'object record. - Chaque object records appartient à un groupe d'enfants de la - collection <parameter>objectID</parameter>. La fonction ne retournera pas - de documents enfants. - </para> - <para> - Voir aussi <function>hw_childrenobj</function>, - <function>hw_getchilddoccollobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getremote"> - <refnamediv> - <refname>hw_GetRemote</refname> - <refpurpose>Retourne un document distant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_getremote</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getremote</function> retourne un document distant. Les documents - distants sont , en Hyperwave, des documents lus depuis une source externe. La - plus part des documents éloignés sont des pages web externes, ou - des requêtes sur une base de données. Afin de pouvoir - accéder à des sources externes, grâce aux documents distants, - Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est - similaire à CGI. Actuellement, seuls les protocoles de FTP, HTTP et - certaines bases de données sont accessibles avec HGI. - <function>hw_getremote</function> retourne le document de la source - distante. Si vous voulez utiliser cette fonction, il vous faut vous - familiariser avec HGIs. Il est aussi préférable d'utiliser - PHP plutôt que Hyperwave pour accéder aux sources externes. - Le support des bases de données sera plus difficile avec Hyperwave - que PHP. - </para> - <para> - Voir aussi <function>hw_getremotechildren</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getremotechildren"> - <refnamediv> - <refname>hw_GetRemoteChildren</refname> - <refpurpose>Retourne les fils d'un document distant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>hw_getremotechildren</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>object record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getremotechildren</function> retourne les fils d'un document - distant. Les fils d'un document distant sont des documents distants eux - mêmes. Cela est cohérent si une requête sur une base - de données doit être rendu plus sélective, comme - expliqué dans Hyperwave Programmers' Guide. Si le nombre de fils - est 1 la fonction va retourner le document lui même, la fonction - retournera le document lui même, formaté Hyperwave Gateway - Interface (HGI). Si le nombre de fils est supérieur 1 la fonction - retournera un tableau d'attributs, qui pourra servir à une nouvelle - requête avec <function>hw_getremotechildren</function>. Ces attributs - sont virtuels et n'existent pas sur le serveur Hyperwave, et ainsi, n'ont pas - d'identifiant d'objet valide. L'ordre exact de ces objets est du ressort de HGI. - Si vous voulez utiliser cette fonction, vous devez être très - familier HGIs. Il vaut mieux PHP plutôt que Hyperwave pour accéder - aux fichiers distants. Le support de base de données y est bien meilleur. - </para> - <para> - Voir aussi <function>hw_getremote</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getsrcbydestobj"> - <refnamediv> - <refname>hw_GetSrcByDestObj</refname> - <refpurpose>Retourne les ancrages qui pointent sur un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getsrcbydestobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getsrcbydestobj</function> retourne les attributs de tous - les ancrages qui pointent sur <parameter>objectID</parameter>. L'objet - peut être un document ou un autre ancrage, de type destination. - </para> - <para> - Voir aussi <function>hw_getanchors</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobject"> - <refnamediv> - <refname>hw_GetObject</refname> - <refpurpose>Attributs d'un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>[int|array] <parameter>objectID</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobject</function> retourne les attributs de l'objet dont - l'identifiant est <parameter>objectID</parameter>, si le second - paramètre est un entier. Si le second paramètre est un - tableau, la fonction retournera un tableau d'attributs. Dans ce cas, - le dernier paramètre est aussi évalué. - </para> - <para> - <parameter>query</parameter> a la syntaxe suivante : - </para> - <simpara> - <expression> ::= "(" <expression> ")" | - </simpara> - <simpara> - "!" <expression> | /* NOT */ - </simpara> - <simpara> - <expression> "||" <expression> | /* OR */ - </simpara> - <simpara> - <expression> "&&" <expression> | /* AND */ - </simpara> - <simpara> - <attribute> <operator> <value> - </simpara> - <simpara> - <attribute> ::= /* * n'importe quel attribut (Title, Author, DocumentType ...) */ - </simpara> - <simpara> - <operator> ::= "=" | /* égal */ - </simpara> - <simpara> - "<" | /* moins que (comparaison de type chaîne) */ - </simpara> - <simpara> - ">" | /* plus que (comparaison de type chaîne) */ - </simpara> - <simpara> - "~" /* recherche par expression régulière */ - </simpara> - <simpara> - </simpara> - <para> - <parameter>query</parameter> permet de sélectionner une nouvelle fois - certains objets dans la liste des objets donnés. Contrairement aux - autres requêtes, celle ci peut utiliser des attributs non indexés. - Le nombre d'attributs retourné dépend de la requête de la - requête, et des autorisations d'accès aux objets. - </para> - <para> - Voir aussi <function>hw_getandlock</function>, - <function>hw_getobjectbyquery</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getandlock"> - <refnamediv> - <refname>hw_GetAndLock</refname> - <refpurpose>Retourne les attributs, et verrouille l'objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_getandlock</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getandlock</function> retourne les attributs, et verrouille - l'objet <parameter>objectID</parameter>. Le verrouillage empêchera - les autres utilisateurs d'y accéder, jusqu'à ce qu'il soit - deverrouillé. - </para> - <para> - Voir aussi <function>hw_unlock</function>, - <function>hw_getobject</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-gettext"> - <refnamediv> - <refname>hw_GetText</refname> - <refpurpose>Retourne un document texte.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_gettext</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>mixed - <parameter> - <optional>rootID/prefix</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_gettext</function> retourne le document de l'objet - <parameter>objectID</parameter>. Si le document possède des ancrages - qui peuvent être insérés, ils seront déjà - insérés. L'option rootID/prefix peut être une - chaîne ou un entier. Si c'est un entier, il détermine la - méthode d'insertion des liens dans le document. Par défaut, - il vaut 0 et les liens seront construits en fonction du nom de l'objet cible. - Cela sert beaucoup dans les applications web. Si un lien pointe sur un objet - avec le nom 'film_internet' le lien HTML sera <A HREF="/internet_movie">. - La position réelle de la source et de la cible dans la hiérarchie - seront ignorés. Vous devrez modificer votre site web pour qu'il - réécrive les URL, comme par exemple - '/mon_script.php3/film_internet'. 'mon_script.php3' devra analyser - $PATH_INFO et savoir recherche le document '/mon_script.php3/film_internet'. - Si vous ne voulez pas de ce comportement, vous pouvez affecter à - rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une chaîne. - </para> - <para> - Si <parameter>rootID/prefix</parameter> est un entier différent de 0 - le lien sera construit avec tous les noms de la hiérarchie, en - commencant à l'objet d'identifiant rootID/prefix, et séparé - par des slash. Si, par exemple, le document 'film_internet' est situé - à 'a-b-c-internet_movie' et '-' qui sert de séparateur - hiérarchique de niveau sur le serveur Hyperwave et le document - source est situé dans 'a-b-d-source' alors, le lien HTML serait: - <A HREF="../c/internet_movie">. Cela est très pratique si vous - voulez télécharger tout le contenu d'un serveur sur un disque, - et faire une carte du système sur votre disque. - </para> - <para> - <function>hw_gettext</function> n'est opérationnelle qu'avec des - documents de pur texte. Elle n'ouvrira pas de canal spécial de - transfert, et ainsi, bloquera le script le temps du transfert. - </para> - <para> - Voir aussi <function>hw_pipedocument</function>, - <function>hw_free_document</function>, - <function>hw_documentbodytag</function>, - <function>hw_documentsize</function>, - <function>hw_outputdocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyquery"> - <refnamediv> - <refname>hw_GetObjectByQuery</refname> - <refpurpose>Recherche un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyquery</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyquery</function> recherche un objet sur tout le serveur - et retourne un tableau d' object ids. Le nombre maximum d'objet est limité - par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 - il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyqueryobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyqueryobj"> - <refnamediv> - <refname>hw_GetObjectByQueryObj</refname> - <refpurpose>Recherche un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyqueryobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyqueryobj</function> recherche un objet sur tout le - serveur et retourne un tableau d' object records. Le nombre maximum d'objet - est limité par <parameter>max_hits</parameter>. Si - <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyquery</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyquerycoll"> - <refnamediv> - <refname>hw_GetObjectByQueryColl</refname> - <refpurpose>Recherche un objet dans un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyquerycoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyquerycoll</function> recherche un objet sur tout - le groupe objectID et retourne un tableau d' object records. Le nombre - maximum d'objet est limité par <parameter>objectID</parameter>. Si - <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyquerycollobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getobjectbyquerycollobj"> - <refnamediv> - <refname>hw_GetObjectByQueryCollObj</refname> - <refpurpose>Recherche un objet dans un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getobjectbyquerycollobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>max_hits</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getobjectbyquerycollobj</function> recherche un objet sur tout - le groupe objectID et retourne un tableau d' object records. Le nombre maximum - d'objet est limité par <parameter>objectID</parameter>. Si - <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requête ne fonctionnera qu'avec des attributs indexés. - </para> - <para> - Voir aussi <function>hw_getobjectbyquerycoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchilddoccoll"> - <refnamediv> - <refname>hw_GetChildDocColl</refname> - <refpurpose>ids des documents fils d'un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchilddoccoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchilddoccoll</function> retourne un tableau avec les id - des documents fils d'une collection. - </para> - <para> - Voir aussi <function>hw_getchildcoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getchilddoccollobj"> - <refnamediv> - <refname>hw_GetChildDocCollObj</refname> - <refpurpose>Attributs des documents fils d'un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getchilddoccollobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getchilddoccollobj</function> retourne un tableau contenant - les attributs des documents fils du groupe <parameter>objectID</parameter>. - </para> - <para> - Voir aussi <function>hw_childrenobj</function>, - <function>hw_getchildcollobj</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getanchors"> - <refnamediv> - <refname>hw_GetAnchors</refname> - <refpurpose>Identifiants des ancrages d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getanchors</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getanchors</function> retourne un tableau contenant les - identifiants des ancrages du document <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getanchorsobj"> - <refnamediv> - <refname>hw_GetAnchorsObj</refname> - <refpurpose>Attributs des ancrages d'un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_getanchorsobj</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getanchorsobj</function> retourne un tableau d'attributs - des ancrages du document <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-mv"> - <refnamediv> - <refname>hw_Mv</refname> - <refpurpose>Déplace un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_mv</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>array <parameter>object id array</parameter></paramdef> - <paramdef>int <parameter>source id</parameter></paramdef> - <paramdef>int <parameter>destination id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_mv</function> déplaces les objets dont les identifiants - sont passés dans le tableau <parameter>source id</parameter>, depuis - le <parameter>source id</parameter> dans le - <parameter>destination id</parameter>. Si destination id vaut 0, les objets - ne seront plus insérés dans le groupe (ni dans le serveur). - Dans ce cas, si une instance était la dernière instance d'un - objet, l'objet sera effacé. Si vous voulez effacer toutes les instances - d'un coup, utilisez <function>hw_deleteobject</function>. - </para> - <para> - La valeur retournée est le nombre d'objet déplacés. - </para> - <para> - Voir aussi <function>hw_cp</function>, - <function>hw_deleteobject</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-identify"> - <refnamediv> - <refname>hw_Identify</refname> - <refpurpose>Identifie un utilisateur.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_identify</function></funcdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_identify</function> identifie un utilisateur, dont le nom - d'utilisateur est <parameter>username</parameter> et le mot de passe - <parameter>password</parameter>. L'identification n'est valide - que pour la session en cours. Je ne pense pas que cette fonction serve - souvent. Dans la plus part des cas, il est plus simple de s'identifier lors - de l'ouverture de la connexion. - </para> - <para> - Voir aussi <function>hw_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-incollections"> - <refnamediv> - <refname>hw_InCollections</refname> - <refpurpose> - Vérifie qu'un identifiant d'objet est dans un groupe. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_incollections</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>array <parameter>object_id_array</parameter></paramdef> - <paramdef>array <parameter>collection_id_array</parameter></paramdef> - <paramdef>int <parameter>return_collections</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_incollections</function> vérifie qu'un ensemble d'objets - (documents ou groupes) donnés par <parameter>object_id_array</parameter> - fait partie des groupe listés par <parameter>object_id_array</parameter>. - Lorsque le quatrième paramètre - <parameter>return_collections</parameter> vaut 0, le sous ensemble - d'identifiants qui font partie d'un groupe (i.e. les documents ou groupes - qui sont fils d'un ou plusieurs groupe, ou leurs fils, récurusivement) - est retourné sous la forme d'un tableau. Cette option permet de mettre - en valeur la partie de l'arborescence qui contient le résultat d'une - requête, dans un sens graphique. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-info"> - <refnamediv> - <refname>hw_Info</refname> - <refpurpose>Informations à propos d'une connexion.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_info</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_info</function> retourne les informations de la connexion - courante. La chaîne retournée a le format suivant : - <Serverstring>, <Host>, <Port>, <Username>, - <Port of Client>, <Byte swapping> - </para> - </refsect1> - </refentry> - <refentry id="function.hw-inscoll"> - <refnamediv> - <refname>hw_InsColl</refname> - <refpurpose>Insère un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_inscoll</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - <paramdef>array <parameter>object_array</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_inscoll</function> insère un nouveau groupe, avec - les attributs <parameter>object_array</parameter> dans le groupe - <parameter>objectID</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-insdoc"> - <refnamediv> - <refname>hw_InsDoc</refname> - <refpurpose>Insère un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_insdoc</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>parentID</parameter></paramdef> - <paramdef>string <parameter>object_record</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_insdoc</function> insère un nouveau document avec - les attributs <parameter>object_record</parameter>, dans le groupe - <parameter>parentID</parameter>. Cette fonction insère soit un objet - avec ses seuls attributs, soit pur objet ascii, avec - <parameter>text</parameter> si il est fourni. Si vous voulez insérer - un document de type général, utilisez plutôt - <function>hw_insertdocument</function>. - </para> - <para> - Voir aussi <function>hw_insertdocument</function>, - <function>hw_inscoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-insertdocument"> - <refnamediv> - <refname>hw_InsertDocument</refname> - <refpurpose>Insère un document dans un groupe.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_insertdocument</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>parent_id</parameter></paramdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_insertdocument</function> insère un document dans le - groupe <parameter>parent_id</parameter>. Le document doit avoir - été créé auparavant avec - <function>hw_new_document</function>. Assurez vous que les attributs du - nouveau document contiennent au moins les attributs suivants : - Type, DocumentType, Title et Name. Vous aurez aussi parfois besoin de - MimeType. La fonction retourne l'identifiant de l'objet inséré, - ou bien &false;. - </para> - <para> - Voir aussi <function>hw_pipedocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-insertobject"> - <refnamediv> - <refname>hw_InsertObject</refname> - <refpurpose>Insère un object record.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_insertobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>string <parameter>object rec</parameter></paramdef> - <paramdef>string <parameter>parameter</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_insertobject</function> insère un objet dans - le serveur. L'objet peut être n'importe quel objet Hyperwave - valide. Reportez vous à la documentation HG-CSP pour plus - de détails sur les paramètres. - </para> - <para> - Note: Si vous voulez insérer un ancre, l'attribut Position - doit être mis à la valeur start/end (début ou - fin) ou encore 'invisible'. Les positions invisibles sont nécessaire - si l'annotation n'a pas de liens correspondant dans le texte de - l'annotation. - </para> - <para> - Voir aussi - <function>hw_pipedocument</function>, - <function>hw_insertdocument</function>, - <function>hw_insdoc</function> et - <function>hw_inscoll</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-mapid"> - <refnamediv> - <refname>hw_mapid</refname> - <refpurpose>Représente un id globale en un id virtuel local.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_mapid</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>server id</parameter></paramdef> - <paramdef>int <parameter>object id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_mapid</function> représente l'id d'un objet global de n'importe - quel serveur Hyperwave, même si vous ne vous y êtes pas - connecté avec <function>hw_connect</function>, avec un id d'objet - local virtuel. Cet id d'objet local peut alors être utilisé - comme n'importe quel id d'objet : par exemple on peut obtenir l'enregistrement - d'objet avec la fonction <function>hw_getobject</function>. L'id du serveur - est la première partie de l'id global (GOid) de l'objet, qui est en - fait une adresse IP. - </para> - <para> - Note: Afin d'utiliser cette fonction, vous devez lever le flag F_DISTRIBUTED, - ce qui ne peut être fait qu'à la compilation. Par défaut, - il n'est pas levé. Lisez les commentaires dans le fichier hg_comm.c - </para> - </refsect1> - </refentry> - <refentry id="function.hw-modifyobject"> - <refnamediv> - <refname>hw_Modifyobject</refname> - <refpurpose>Modifie les attributs d'objet record.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_modifyobject</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>int <parameter>object_to_change</parameter></paramdef> - <paramdef>array <parameter>remove</parameter></paramdef> - <paramdef>array <parameter>add</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_modifyobject</function> permet d'effacer, d'ajouter ou de - modifier les attributs d'un objet. L'objet est reperé par son - identifiant <parameter>object_to_change</parameter>. Le premier tableau, - <parameter>remove</parameter>, est la liste des attributs à effacer. - Le deuxième tableau <parameter>add</parameter> est la liste des - attributs à ajouter. Afin de modifier un attribut, il vous faudra - dont l'effacer, puis l'ajouter à nouveau. - <function>hw_modifyobject</function> effacera toujours les attributs avant - de les ajouter, à moins que la valeur de l'attribut à effacer - ne soit pas une chaîne, ou un tableau. - </para> - <para> - Le dernier paramètre détermine si la modification est - récursive ou pas. 1 signigie que la modification est récursive. - Si un objet ne peut pas être modifié, il sera ignoré. - <function>hw_error</function> n'indiquera alors pas toujours d'erreur, - même si certains objets n'ont pas pu être modifié. - </para> - <para> - Les clés des deux tableaux sont les noms des attributs. La valeurs - de chaque élément peut être un tableau, ou une chaîne - ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut - est construite en séparant chaque élément par un - point virgule. Dans le cas de la chaîne, elle sert directement de - valeur. Une chaîne vide provoquera un effacement de l'attribut. - Dans le cas oú la valeur n'est ni un tableau, ni une chaîne, - aucune opération ne sera effectuée. Cela est nécessaire - si vous voulez ajouter un attribut complètement une nouvelle valeur pour - un attribut existant. Si le tableau d'effacement contenait une chaîne - vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui - échouerai de toute manière, car cet attribut n'existe pas. - L'ajout de cet attribut échouerai aussi. Affecter la valeur de 0 - à cet attribut ne l'effacerait pas, et l'ajout fonctionnerait. - </para> - <para> - Si vous voulez changer l'attribut 'Nom' de valeur courante 'livres' en - 'articles' vous devrez faire deux tableaux, et appeler - <function>hw_modifyobject</function>. - <example> - <title>Modification d'un attribut</title> - <programlisting role="php"> -<?php - // $connect est une connexion valide - // $objid est l'identifiant de l'objet - $remarr = array("Name" => "books"); - $addarr = array("Name" => "articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - Afin d'effacer/ajouter une paire nom=valeur aux attributs d'un objet, - utilisez simplement les tableaux d'effacement et d'ajout, et laissez - le dernier/troisième paramètre vide. Si l'attribut est - le premier de ce nom à ajouter, donnez une valeur entière - à cet élément. - <example> - <title>Ajouter un nouvel attribut</title> - <programlisting role="php"> -<?php - // $connect st une connexion Hyperwave valide - // $objid est l'identifiant de l'objet à modifier - $remarr = array("Name" => 0); - $addarr = array("Name" => "articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - </para> - <para> - <note> - <simpara> - Les attributs multilingues, (tels que 'Title'), peuvent être - modifiés de deux manières : soit en fournissant la - valeur de ces attributs de manière native (langue :valeur), - soit en fournissant un tableau avec les éléments de - chaque langue, comme décrit ci-dessus. L'exemple deviendrai - alors : - </simpara> - </note> - <example> - <title>Modifier l'attribut de Titre (Title)</title> - <programlisting role="php"> -<?php - $remarr = array("Title" => "en:Books"); - $addarr = array("Title" => "en:Articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - ou - <example> - <title>Modifier l'attribut Title</title> - <programlisting role="php"> -<?php - $remarr = array("Title" => array("en" => "Books")); - $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel")); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - Pour supprimer l'entrée française 'Livres' et ajouter - l'entrée 'Articles' et l'entrée allemande 'Artikel'. - <example> - <title>Suppression d'un attribut</title> - <programlisting role="php"> -<?php - $remarr = array("Title" => ""); - $addarr = array("Title" => "en:Articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?> - </programlisting> - </example> - <note> - <simpara> - Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter - un nouvel attribut 'Title'. Cela peut être pratique pour effacer des - attributs récursivement. - </simpara> - </note> - <note> - <simpara> - Si vous devez effacer tous les attributs avec un certains nom, vous devez - passer une chaîne vide comme valeur. - </simpara> - </note> - <note> - <simpara> - Seuls les attributs 'Title', 'Description' et 'Keyword' gère - correctement le préfixe de langue. Pour les autres attributs qui - ne portent pas de préfixe de language, le préfixe 'xx' sera - assigné. - </simpara> - </note> - <note> - <simpara> - L'attribut 'Name' est un peu particuluer. Dans certains cas, il ne peut pas - être complétement effacé. Vous aurez alors le message - 'Change of base attribute' (l'apparition de cette erreur n'est pas très - claire). Ainsi, vous aurez à ajouter une nouvelle entrée pour - Name puis, effacer l'ancien. - </simpara> - </note> - <note> - <simpara> - Il ne faut pas encadrer cette fonction par des appels à - <function>hw_getandlock</function> et <function>hw_unlock</function>. - <function>hw_modifyobject</function> le fait de manière interne. - </simpara> - </note> - </para> - <para> - Retourne &true; si aucune erreur ne survient, et &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-new-document"> - <refnamediv> - <refname>hw_New_Document</refname> - <refpurpose>Crée un nouveau document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_new_document</function></funcdef> - <paramdef>string <parameter>object_record</parameter></paramdef> - <paramdef>string <parameter>document_data</parameter></paramdef> - <paramdef>int <parameter>document_size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_new_document</function> retourne un nouveau document Hyperwave - avec comme données <parameter>document_data</parameter> et comme - attributs <parameter>object_record</parameter>. La longueur de - <parameter>document_data</parameter> doit être données dans - <parameter>document_size</parameter>. Cette fonction n'insère pas - l'objet dans le serveur Hyperwave. - </para> - <para> - Voir aussi <function>hw_free_document</function>, - <function>hw_documentsize</function>, - <function>hw_documentbodytag</function>, - <function>hw_outputdocument</function>, - <function>hw_insertdocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-objrec2array"> - <refnamediv> - <refname>hw_Objrec2Array</refname> - <refpurpose>Convertit les attributs d'un objet en tableau.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>hw_objrec2array</function></funcdef> - <paramdef>string <parameter>object_record</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_objrec2array</function> convertit les attributs - <parameter>object_record</parameter> d'un objet en un tableau. Les - clés du tableau seront les noms des attributs. Les attributs - multiples comme par exemple 'Title', dans différentes langues, - seront rassemblées dans un autre tableau. Une clé est la - partie gauche d'un attribut. Actuellement, seuls les attributs 'Title', - 'Description' et 'Keyword' sont traités correctement. - </para> - <para> - Voir aussi <function>hw_array2objrec</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-outputdocument"> - <refnamediv> - <refname>hw_OutputDocument</refname> - <refpurpose>Affiche hw_document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_outputdocument</function></funcdef> - <paramdef>int <parameter>hw_document</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_outputdocument</function> affiche - <parameter>hw_document</parameter> sans la balise BODY. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-pconnect"> - <refnamediv> - <refname>hw_pConnect</refname> - <refpurpose>Crée une connexion persistante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_pconnect</function></funcdef> - <paramdef>string <parameter>host</parameter></paramdef> - <paramdef>int <parameter>port</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_pconnect</function> retourne un index de connexion en cas de - succès, et &false; si la connexion n'a pas - pu être créée. - <function>hw_pconnect</function> ouvre une connexion persistante à - un serveur Hyperwave. Tous les - arguments doivent être entre guillemets, hormis le numéro - de port <parameter>port</parameter>. Les arguments <parameter>username</parameter> et - <parameter>password</parameter> sont optionnels, et peuvent être - ignorés. Dans ce cas, aucune authentification ne sera faite, - (connexion anonyme). Cette fonction retourne un index de connexion qui - sera utilisée par les autres fonctions Hyperwave. Vous pouvez - ouvrir plusieurs connexions simultanées. - </para> - <para> - Voir aussi <function>hw_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-pipedocument"> - <refnamediv> - <refname>hw_PipeDocument</refname> - <refpurpose>Retourne un document.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_pipedocument</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_pipedocument</function> retourne le document Hyperwave d'objet - id <parameter>objectID</parameter>. Si le document a des ancrages, ils seront - insérés. Le document sera transmis via une connexion de - données spéciale, qui ne bloque pas la connexion de - contrôle (ie, le serveur n'attends pas la fin du transfert pour - rendre la main). - </para> - <para> - Voir aussi - <function>hw_gettext</function> (insertions), - <function>hw_free_document</function>, - <function>hw_documentsize</function>, - <function>hw_documentbodytag</function> et - <function>hw_outputdocument</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-root"> - <refnamediv> - <refname>hw_Root</refname> - <refpurpose>Object id de la racine.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_root</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_root</function> retourne l' object id de la racine. - Actuellement, cette identifiant est toujours 0. L'ensemble des fils - de la racine est celui du serveur courant. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-unlock"> - <refnamediv> - <refname>hw_Unlock</refname> - <refpurpose>Déverrouille un objet.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_unlock</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - <paramdef>resource <parameter>objectID</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_unlock</function> déverrouille un document, et laisse - l'accès aux autres utilisateurs. - </para> - <para> - Voir aussi <function>hw_getandlock</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-who"> - <refnamediv> - <refname>hw_Who</refname> - <refpurpose>Liste des utilisateurs actuellement identifiés.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>hw_who</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_who</function> retourne un tableau contenant la liste des - utilisateurs actuellement connectés au serveur Hyperwave. Chaque - élément du tableau est lui même un tableau, qui contient - l'identifiant de l'élément, le nom, le système, la date - de connexion (onSinceDate), l'heure de connexion (onSinceTime), la - durée de connexion (TotalTime ) et self. 'self' contient - l'élément est l'utilisateur qui a appelé la fonction. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getusername"> - <refnamediv> - <refname>hw_Username</refname> - <refpurpose>Nom de l'utilisateur actuellement identifié.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>hw_getusername</function></funcdef> - <paramdef>resource <parameter>connection</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>hw_getusername</function> retourne le nom d'utilisateur - utilisé par la connexion. - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><reference id="ref.hyperwave"> <title>Hyperwave</title> <titleabbrev>Hyperwave</titleabbrev> <partintro> <sect1 id="hw-intro"> <title>Introduction</title> <para> <productname>Hyperwave</productname> a été développé par <ulink url="&url.iicm;">IICM</ulink> à Graz. Son nom original était <acronym>Hyper-G</acronym> et il a pris le nom de Hyperwave lors de sa commercialisation (en 1996, si mes souvenirs sont bons). </para> <para> Hyperwave n'est pas gratuit. La version actuelle est la 4.1, disponible à <ulink url="&url.hyperwave;">&url.hyperwave;</ulink>. Une version limitée à 30 jours peut être demandée. </para> <para> <acronym>HIS</acronym> est un système d'information similaire à une base de données, (HIS, Hyperwave Information Server). HIS se concentre sur l'enregistrement et la gestion des documents. Un document peut être n'importe quelle donnée, qui peut être stockée dans un fichier. Chaque document est accompagné par un enregistrement. Cet enregistrement contient des méta données à propos du document. Ces méta données sont des listes d'attributs qui peuvent être étendues par l'utilisateur. Un attribut est une paire clé/valeur de la forme : clé =valeur. L'enregistrement complet contient autant de paire que le désire l'utilisateur. Le nom d'un attribut n'a pas besoin d'être unique, c'est-à-dire qu'une même clé peut apparaître plusieurs fois dans un enregistrement. Cela peut être utile si vous devez donner un titre à votre document en plusieurs langues, par exemple. Dans un cas pareil, la convention est que chaque valeur de titre est précédée par deux lettres et deux points, tel que : 'fr:Titre en français' ou 'ge:Titel in deutsch'. D'autres attributs comme une description ou des mots clés sont aussi susceptibles de recourir à ce genre de procédé. Vous pouvez aussi remplacer l'abréviation de langage par une autre chaîne, tant qu'elle est séparée de la valeur par les deux points. </para> <para> Chaque enregistrement a une représentation native qui contient toutes les paires clé/valeur, séparées par un retour à la ligne. L'extension Hyperwave reconnaît une autre représentation qui est un tableau associatif, où les attributs servent de clés. Les attributs multilingues étant géré sous la forme d'un autre tableau associatif, dont les clés sont les chaînes de langue. En fait, tous les attributs multiformes sont gérés sous la forme de tableau associatif. (Cela n'est pas encore complètement codé. Uniquement les attributs de titre, description et mot clés sont traités correctement). </para> <para> En dehors des documents, tous les hyper liens contenus dans un documents sont enregistrés dans un autre enregistrement. Les hyperliens qui sont à l'intérieur d'un document en seront supprimés, et enregistrés dans des objets particuliers, au moment de l'insertion dans la base de données. L'enregistrement des hyper-liens contient les informations d'origine et d'objectif. Afin d'accéder au document original, vous devrez lire le document sans les liens, puis lire les liens, et les réinsérer (les <function>hw_pipedocument</function> et <function>hw_gettext</function> le font pour vous. L'avantage de séparer les liens du document est évident : une fois qu'un document, cible d'un hyperlien, a été renommé, le liens peut facilement être modifié. Le document contenant le lien n'est pas modifié pour autant. Vous pouvez même ajouter un lien à un document sans le modifier. </para> <para> Dire que <function>hw_pipedocument</function> et <function>hw_gettext</function> font l'insertion automatiquement n'est pas aussi simple qu'il n'y paraît. L'insertion implique une certaine hiérarchie de documents. Sur un serveur web, la hiérarchie est fournie par le système de fichiers, mais Hyperwave dispose de sa propre hiérarchie et les noms de fichiers ne reflètent pas la position d'un objet dans cette hiérarchie. Ainsi, la création de liens requiert en premier lieu la construction de la hiérarchie et de l'espace des noms dans une hiérarchie web et un espace de nom web. La différence fondamentale entre Hyperwave et le web est qu'il y a une distinction claire en les noms et la hiérarchie dans Hyperwave. Le nom ne contient aucune information à propos de la position de l'objet dans la hiérarchie. Sur le web, le nom contient les informations de localisation dans la hiérarchie. Cela conduit à deux méthodes de d'accès : soit la hiérarchie Hyperwave et le nom de l'objet sont inscrits dans l'URL. Pour simplifier les choses, une deuxième approche est pratiquée. L'objet Hyperwave de nom 'mon_objet' correspond à l'URL 'http://hote/mon_objet', peu importe alors où il est rangé dans la hiérarchie. Un objet dont le nom est 'parent/mon_objet' peut être le fils de l'objet 'mon_objet' dans la hiérarchie Hyperwave, bien que ce soit le contraire en convention web, et cela risque de perturber l'utilisateur. </para> <para> Ayant pris cette décision, un deuxième problème surgit : comment faire l'interface avec PHP ? L'URL http://hote/mon_objet n'appellera aucun script PHP à moins que vous ne demandiez à votre serveur web de le remplacer par autre chose, comme par exemple : 'http://host/php3_script/mon_objet' et le script 'php3_script' utilise la variable $PATH_INFO pour rechercher l'objet 'mon_objet' sur le serveur Hyperwave. Il y a juste un petit inconvénient , qui peut facilement être corrigé. Réécrire une URL ne vous permettra aucun accès aux autres documents du serveur web. Un script de recherche dans le serveur Hyperwave serait impossible. Il vous faudra donc au moins une autre règle pour exclure certaines URL, comme par exemple celles qui commencent par http://host/Hyperwave. Voici, de manière simple, la manière de partager un espace de nom entre un serveur web et un serveur Hyperwave serveur. </para> <para> Basé sur le mécanisme précédent, on trouve l'insertion dans les documents. </para> <para> Il est plus compliqué d'avoir PHP ne fonctionne pas comme un module de serveur, ou un script CGI, mais comme une application indépendante. Dans ce cas, il est utile d'inscrire la hiérarchie et le nom de fichier Hyperwave dans le système de fichier. Mais comme cela risque d'entrer en conflit avec le séparateur de dossier ('/'), il faut le remplacer par un autre caractère,. '_'. </para> <para> Le protocole réseau pour communiquer avec un serveur Hyperwave est appelé <ulink url="&spec.hyperwave;">HG-CSP</ulink> (Hyper-G Client/Server Protocol). Il est basé sur des messages qui initie des actions, comme par exemple, lire l'en-tête de fichier. Dans les premières versions de Hyperwave Server deux clients natifs (Harmony, Amadeus) étaient fournis pour permettre la communication avec le serveur. Ils ont disparu lors de la commercialisation de Hyperwave. En tant qu'ersatz, un client appelé wavemaster est désormais fourni. wavemaster est un espèce ce convertisseur de protocole de <abbrev>HTTP</abbrev> en <abbrev>HG-CSP</abbrev>. L'idée est de faire toute l'administration de la base et la visualisation des documents par une interface web. Le wavemaster implémente un jeu d'emplacement pour certaines actions de personnalisation de l'interface. Ce jeu est appelé <abbrev>PLACE</abbrev> language. <abbrev>PLACE</abbrev> pêche encore par le manque de nombreuses fonctions de programmation, et le manque d'évolutivité. Cela a conduit à l'utilisation de JavaScript ce qui ne rend pas la vie facile. </para> <para> Que PHP supporte Hyperwave permet de combler ces manques. PHP implémente tous les messages définis par <abbrev>HG-CSP</abbrev> mais fourni d'autres commandes puissantes, comme par exemple, celle de lire des documents complets. </para> <para> Hyperwave dispose de sa propre terminologie pour localiser certaines informations. Cette terminologie a été largement étendue. Presque toutes les fonctions utilisent l'un des types de données suivants : <itemizedlist> <listitem> <simpara> object ID: un entier, unique pour chaque objet sur le serveur Hyperwave. C'est aussi un des attributs de l'enregistrement de l'objet (ObjectID).Les object ids sont souvent utilisées comme paramètre d'entrée pour spécifier un objet. </simpara> </listitem> <listitem> <simpara> object record: Une chaîne contenant des paires clé=valeur. Les paires sont séparées par un retour à la ligne. Un enregistrement d'objet peut facilement être converti en tableau, avec la fonction <function>hw_objrec2array</function>. De nombreuses fonctions retournent un object records. Ces fonctions ont leur nom qui finit par obj. </simpara> </listitem> <listitem> <simpara> object array: Un tableau associatif qui contient tous les attributs d'un objet. La clé est l'attribut. Si un attribut apparaît plusieurs fois, il sera représenté sous la forme d'un tableau associatif ou indexé. Les attributs qui dépendent des langues (comme title, keyword ou description) seront représentés sous la forme d'un tableau associatif, dont les clés seront les abréviations de langues. Tous les autres attributs à valeur multiple prendront la forme d'un tableau indexé. </simpara> </listitem> <listitem> <simpara> hw_document: Ce type est un nouveau type de données, qui contient le document lui-même, comme par exemple HTML, PDF etc. Il est optimisé pour les documents HTML mais peut s'utiliser avec n'importe quel format. </simpara> </listitem> </itemizedlist> </para> <para> De nombreuses fonctions qui retournent un tableau d'enregistrements, retournent aussi un tableau associé, avec des informations statistiques. Ce tableau est le dernier élément du tableau d'enregistrements. Les statistiques contiennent les entrées suivantes : <variablelist> <varlistentry> <term>Hidden</term> <listitem> <simpara> Nombre d'objets dont l'attribut PresentationHints est Hidden. </simpara> </listitem> </varlistentry> <varlistentry> <term>CollectionHead</term> <listitem> <simpara> Nombre d'objet dont l'attribut PresentationHints est CollectionHead. </simpara> </listitem> </varlistentry> <varlistentry> <term>FullCollectionHead</term> <listitem> <simpara> Nombre d'objet dont l'attribut PresentationHints est FullCollectionHead. </simpara> </listitem> </varlistentry> <varlistentry> <term>CollectionHeadNr</term> <listitem> <simpara> Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints à CollectionHead. </simpara></listitem> </varlistentry> <varlistentry> <term>FullCollectionHeadNr</term> <listitem> <simpara> Index du premier objet du tableau d'enregistrement avec l'attribut PresentationHints est FullCollectionHead. </simpara> </listitem> </varlistentry> <varlistentry> <term>Total</term> <listitem> <simpara> Total: Nombre d'enregistrements. </simpara> </listitem> </varlistentry> </variablelist> </para> </sect1> <sect1 id="hw-apache"> <title>Intégration avec Apache</title> <para> L'extension Hyperwave est utilisée de manière optimale lorsque PHP est compilé comme module Apache. Dans ce cas, le serveur Hyperwave sous jacent peut être caché quasiment totalement aux utilisateurs, si Apache utilise son moteur d'écriture. Les explications suivantes vous éclaireront : </para> <para> Etant donné que PHP avec l'extension Hyperwave et Apache tend à remplacer la solution native basée sur Wavemaster, je vais supposer que le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas nécessaire, mais cela simplifie grandment la configuration. Le concept est très simple. Premièrement, vous avez besoin d'un script PHP qui évalue la variable <envar>PATH_INFO</envar> et considère que cette valeur est un objet Hyperwave. Appelons ce script 'Hyperwave'. L'URL <systemitem role="url">http://votre.hote/Hyperwave/nom_objet</systemitem> retourne alors l'objet Hyperwave dont le nom est 'nom_objet'. Le script doit alors réagir suivant le type de l'objet. Si c'est un groupe, il devra probablement retourner une liste de fils. Si c'est un document, il pourra retourner son type MIME et son contenu. Une amélioration peut être obtenue en utilisant le moteur de réécriture d'Apache. D'un point de vue utilisateur, il est plus direct si l'URL <systemitem role="url">http://votre.hote/nom_objet</systemitem> retourne l'objet. La règle de réécriture est simple : <informalexample> <programlisting role="apache-conf">RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L] </programlisting> </informalexample> Maintenant toutes les URL pointent sur un objet Hyperwave. Cela conduit à un problème simple. Il n'y a pas d'autre façon d'exécuter, c'est-à-dire rechercher, un autre script que ce script 'Hyperwave'. Cela pourra être corrigé avec une autre règle telle que: <informalexample> <programlisting role="apache-conf">RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L] </programlisting> </informalexample> Le dossier <filename class="directory">/usr/local/apache/htdocs/hw</filename> sera ainsi réservé pour d'autres scripts et fichiers. Assurez-vous que cette règle est évaluée avant la première règle que nous avons définie. Il y a juste un léger inconvénient : tous les objets Hyperwave qui commencent par 'hw/' seront cachés. Alors, assurez-vous que vous n'utilisez pas de tels noms. Si vous avez besoin d'autres dossiers, par exemple, un dossier d'images, ajoutez simplement d'autres règles. N'oubliez pas de lancer le moteur de réécriture avec <informalexample> <programlisting role="apache-conf">RewriteEngine on </programlisting> </informalexample> Mon expérience m'a montré que vous aurez besoin des scripts suivants : <itemizedlist> <listitem> <simpara> Retourne l'objet lui-même </simpara> </listitem> <listitem> <simpara> Pour autoriser la recherche </simpara> </listitem> <listitem> <simpara> S'identifier </simpara> </listitem> <listitem> <simpara> Choisir une configuration </simpara> </listitem> <listitem> <simpara> Un script pour chaque fonction supplémentaire, comme afficher un objet, afficher des informations sur les utilisateurs, afficher le statut du serveur, etc... </simpara> </listitem> </itemizedlist> </para> </sect1> <sect1 id="hw-todo"> <title>A faire</title> <para> Il reste encore beaucoup à faire : <itemizedlist> <listitem> <simpara> La fonction hw_InsertDocument doit être séparée en deux : hw_insertobject() et hw_putdocument(). </simpara> </listitem> <listitem> <simpara> Les noms de nombreuses fonctions ne sont pas encore fixés. </simpara> </listitem> <listitem> <simpara> La majorité des fonctions requièrent la connexion courante comme premier paramètre. Cela conduit à beaucoup de frappe clavier, même s'il n'y a souvent qu'une seule connexion en jeu. Une connexion par défaut améliorerait ceci. </simpara> </listitem> </itemizedlist> </para> </sect1> </partintro> <refentry id="function.hw-array2objrec"> <refnamediv> <refname>hw_Array2Objrec</refname> <refpurpose>Convertit un tableau en un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_array2objrec</function></funcdef> <paramdef>array <parameter>object_array</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_array2objrec</function> convertit un <parameter>object_array</parameter> en un objet. Les attributs multiples tels que 'Title' en différentes langues seront traités correctement. </para> <para> Voir aussi <function>hw_objrec2array</function>. </para> </refsect1> </refentry> <refentry id="function.hw-children"> <refnamediv> <refname>hw_Children</refname> <refpurpose>Liste des object ids des objets fils.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_children</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_children</function> retourne un tableau avec des object ids. Chaque object id est celui d'un des fils du groupe dont l'id est <parameter>objectID</parameter>. Ce tableau contient tous les fils, documents et groupes. </para> </refsect1> </refentry> <refentry id="function.hw-childrenobj"> <refnamediv> <refname>hw_ChildrenObj</refname> <refpurpose>Liste des object records des objets fils.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_childrenobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_childrenobj</function> retourne un tableau avec des object records. Chaque object records est celui d'un des fils du groupe dont l'id est <parameter>objectID</parameter>. Ce tableau contient tous les fils, documents et groupes </para> </refsect1> </refentry> <refentry id="function.hw-close"> <refnamediv> <refname>hw_Close</refname> <refpurpose>Ferme la connexion Hyperwave.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_close</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_close</function> retourne &false; si la connexion n'est pas valide, et sinon, &true;. Ferme la connexion connection à un serveur Hyperwave. </para> </refsect1> </refentry> <refentry id="function.hw-connect"> <refnamediv> <refname>hw_Connect</refname> <refpurpose>Ouvre une connexion Hyperwave.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_connect</function></funcdef> <paramdef>string <parameter>host</parameter></paramdef> <paramdef>int <parameter>port</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_connect</function> ouvre une connexion Hyperwave et retourne un identifiant de connexion, en cas de succès, ou &false;, si la connexion n'a pas pu être créée. Chaque argument doit être entouré de guillemets, sauf le numéro de port. Les arguments <parameter>username</parameter> et <parameter>password</parameter> sont optionnels, et peuvent être ignorés. Dans ce cas, aucune identification ne sera faite au niveau du serveur. Cela revient à s'identifier en tant qu'utilisateur anonyme. Cette fonction retourne un identifiant de connexion qui sera nécessaire aux autres fonctions Hyperwave. Vous pouvez avoir plusieurs connexions simultanées. N'oubliez pas que les mots de passe ne sont pas cryptés. </para> <para> Voir aussi <function>hw_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.hw-cp"> <refnamediv> <refname>hw_Cp</refname> <refpurpose>Copie des objets.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_cp</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>array <parameter>object_id_array</parameter></paramdef> <paramdef>int <parameter>destination_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_cp</function> copie les objets ayant les identifiants <parameter>object_id_array</parameter>, et crée un groupe ayant l'object id <parameter>destination_id</parameter>. </para> <para> La valeur retournée est le nombre d'objets copiés. </para> <para> Voir aussi <function>hw_mv</function>.</para> </refsect1> </refentry> <refentry id="function.hw-deleteobject"> <refnamediv> <refname>hw_Deleteobject</refname> <refpurpose>Efface des objets.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_deleteobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>object_to_delete</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_deleteobject</function> efface l'objet dont l'identifiant est <parameter>object_to_delete</parameter>. Toutes les instances de l'objet <parameter>object_to_delete</parameter> seront effacées. </para> <para> <function>hw_deleteobject</function> retourne &true; si aucune erreur ne survient, et sinon, &false;. </para> <para> Voir aussi <function>hw_mv</function>. </para> </refsect1> </refentry> <refentry id="function.hw-docbyanchor"> <refnamediv> <refname>hw_DocByAnchor</refname> <refpurpose>Identifiant d'objet de l'objet dans l'ancrage.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_docbyanchor</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>anchorID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_docbyanchor</function> retourne l'dentifiant d'objet de l'objet dans l'ancrage <parameter>anchorID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-docbyanchorobj"> <refnamediv> <refname>hw_DocByAnchorObj</refname> <refpurpose>Attributs de l'objet dans l'ancrage.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_docbyanchorobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>anchorID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_docbyanchorobj</function> retourne les attributs du document qui correspond à <parameter>anchorID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-documentattributes"> <refnamediv> <refname>hw_DocumentAttributes</refname> <refpurpose>Object record de hw_document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentattributes</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentattributes</function> retourne les attributs du document. </para> <para> Voir aussi <function>hw_documentbodytag</function> et <function>hw_documentsize</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentbodytag"> <refnamediv> <refname>hw_DocumentBodyTag</refname> <refpurpose>Balise de corps d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentbodytag</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentbodytag</function> retourne la balise BODY du document.Si le document est un document HTML , la balise BODY doit être affichée avant le document. </para> <para> Voir aussi <function>hw_documentattributes</function> et <function>hw_documentsize</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentcontent"> <refnamediv> <refname>hw_DocumentContent</refname> <refpurpose>Contenu d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentcontent</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentcontent</function> retourne la balise BODY du document.Si le document est un document HTML , la balise BODY doit être affichée avant le document. </para> <para> Voir aussi <function>hw_documentattributes</function>, <function>hw_documentsize</function> et <function>hw_documentsetcontent</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentsetcontent"> <refnamediv> <refname>hw_DocumentSetContent</refname> <refpurpose>Modifie/remplace le contenu d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_documentsetcontent</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> <paramdef>string <parameter>content</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentsetcontent</function> modifie/remplace le contenu d'un document. Si le document est un document HTML, le contenu représente tout qui est placé au-delà de la balise BODY. Les informations de HEAD et de la balise BODY sont enregistrés dans les attributs. Si vous fournissez aussi ces informations dans le corps du document, le serveur Hyperwave modifiera les attributs. Cela n'est cependant pas une bonne idée. Si la fonction échoue, l'ancien contenu est restauré. </para> <para> Voir aussi <function>hw_documentattributes</function>, <function>hw_documentsize</function> et <function>hw_documentcontent</function>. </para> </refsect1> </refentry> <refentry id="function.hw-documentsize"> <refnamediv> <refname>hw_DocumentSize</refname> <refpurpose>Taille d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_documentsize</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_documentsize</function> retourne la taille du document en octets. </para> <para> Voir aussi <function>hw_documentbodytag</function> et <function>hw_documentattributes</function>. </para> </refsect1> </refentry> <refentry id="function.hw-errormsg"> <refnamediv> <refname>hw_ErrorMsg</refname> <refpurpose>Retourne un message d'erreur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_errormsg</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_errormsg</function> retourne une chaîne contenant le dernier message d'erreur, ou 'No Error' (pas d'erreur). Si &false; est retourné, cette fonction a échoué. Ce message est relatif à la dernière commande exécutée. </para> </refsect1> </refentry> <refentry id="function.hw-edittext"> <refnamediv> <refname>hw_EditText</refname> <refpurpose>Retourne un document texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_edittext</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_edittext</function> charge le texte du document sur le serveur. Les attributs du document ne doivent pas être modifiés tant que le document est en train d'être édité. Cette fonction n'est disponible que sur les documents texte. Elle n'ouvrira pas de canal de transfert, et donc, bloquera le script durant le transfert. </para> <para> Voir aussi <function>hw_pipedocument</function>, <function>hw_free_document</function>, <function>hw_documentbodytag</function>, <function>hw_documentsize</function>, <function>hw_outputdocument</function> et <function>hw_gettext</function>. </para> </refsect1> </refentry> <refentry id="function.hw-error"> <refnamediv> <refname>hw_Error</refname> <refpurpose>Retourne le code d'erreur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_error</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_error</function> retourne le code d'erreur de la dernière erreur. Si la valeur 0 est retournée, c'est qu'il n'y avait pas d'erreur. L'erreur se rapporte à la dernière commande. </para> </refsect1> </refentry> <refentry id="function.hw-free-document"> <refnamediv> <refname>hw_Free_Document</refname> <refpurpose>Détruit un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_free_document</function></funcdef> <paramdef>resource <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_free_document</function> détruit un document Hyperwave. </para> </refsect1> </refentry> <refentry id="function.hw-getparents"> <refnamediv> <refname>hw_GetParents</refname> <refpurpose>Identifiant d'objet des parents.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getparents</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getparents</function> retourne un tableau indexé avec les identifiants des objets parents de <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-getparentsobj"> <refnamediv> <refname>hw_GetParentsObj</refname> <refpurpose>Attributs des parents.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getparentsobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getparentsobj</function> retourne un tableau indexé, avec les attributs et un tableau associé, d'informations statistiques à propos des attributs. Ce tableau associé est le dernier élément du tableau retourné. Chaque attribut appartient au père de l'objet <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-getchildcoll"> <refnamediv> <refname>hw_GetChildColl</refname> <refpurpose>Identifiant d'objet des groupes fils.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchildcoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchildcoll</function> retourne un tableau contenant les identifiants d'objets des groupes fils du groupe <parameter>objectID</parameter>. Cette fonction ne retournera pas d'identifiants d'objets des documents fils. </para> <para> Voir aussi <function>hw_getchilddoccoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getchildcollobj"> <refnamediv> <refname>hw_GetChildCollObj</refname> <refpurpose>object records d'un groupe d'enfants.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchildcollobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchildcollobj</function> retourne un tableau d'object record. Chaque object records appartient à un groupe d'enfants de la collection <parameter>objectID</parameter>. La fonction ne retournera pas de documents enfants. </para> <para> Voir aussi <function>hw_childrenobj</function> et <function>hw_getchilddoccollobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getremote"> <refnamediv> <refname>hw_GetRemote</refname> <refpurpose>Retourne un document distant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_getremote</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getremote</function> retourne un document distant. Les documents distants sont , en Hyperwave, des documents lus depuis une source externe. La plupart des documents éloignés sont des pages web externes, ou des requêtes sur une base de données. Afin de pouvoir accéder à des sources externes, grâce aux documents distants, Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est similaire à CGI. Actuellement, seuls les protocoles de FTP, HTTP et certaines bases de données sont accessibles avec HGI. <function>hw_getremote</function> retourne le document de la source distante. Si vous voulez utiliser cette fonction, il vous faut vous familiariser avec HGIs. Il est aussi préférable d'utiliser PHP plutôt que Hyperwave pour accéder aux sources externes. Le support des bases de données sera plus difficile avec Hyperwave que PHP. </para> <para> Voir aussi <function>hw_getremotechildren</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getremotechildren"> <refnamediv> <refname>hw_GetRemoteChildren</refname> <refpurpose>Retourne les fils d'un document distant.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>hw_getremotechildren</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>object_record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getremotechildren</function> retourne les fils d'un document distant. Les fils d'un document distant sont des documents distants eux mêmes. Cela est cohérent si une requête sur une base de données doit être rendu plus sélective, comme expliqué dans Hyperwave Programmers' Guide. Si le nombre de fils est 1 la fonction va retourner le document lui-même, la fonction retournera le document lui-même, formaté Hyperwave Gateway Interface (HGI). Si le nombre de fils est supérieur 1 la fonction retournera un tableau d'attributs, qui pourra servir à une nouvelle requête avec <function>hw_getremotechildren</function>. Ces attributs sont virtuels et n'existent pas sur le serveur Hyperwave, et ainsi, n'ont pas d'identifiant d'objet valide. L'ordre exact de ces objets est du ressort de HGI. Si vous voulez utiliser cette fonction, vous devez être très familier HGIs. Il vaut mieux PHP plutôt que Hyperwave pour accéder aux fichiers distants. Le support de base de données y est bien meilleur. </para> <para> Voir aussi <function>hw_getremote</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getsrcbydestobj"> <refnamediv> <refname>hw_GetSrcByDestObj</refname> <refpurpose>Retourne les ancrages qui pointent sur un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getsrcbydestobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getsrcbydestobj</function> retourne les attributs de tous les ancrages qui pointent sur <parameter>objectID</parameter>. L'objet peut être un document ou un autre ancrage, de type destination. </para> <para> Voir aussi <function>hw_getanchors</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobject"> <refnamediv> <refname>hw_GetObject</refname> <refpurpose>Attributs d'un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int|array <parameter>objectID</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobject</function> retourne les attributs de l'objet dont l'identifiant est <parameter>objectID</parameter>, si le second paramètre est un entier. Si le second paramètre est un tableau, la fonction retournera un tableau d'attributs. Dans ce cas, le dernier paramètre est aussi évalué. </para> <para> <parameter>query</parameter> a la syntaxe suivante : </para> <simpara> <expression> ::= "(" <expression> ")" | </simpara> <simpara> "!" <expression> | /* NOT */ </simpara> <simpara> <expression> "||" <expression> | /* OR */ </simpara> <simpara> <expression> "&&" <expression> | /* AND */ </simpara> <simpara> <attribute> <operator> <value> </simpara> <simpara> <attribute> ::= /* * n'importe quel attribut (Title, Author, DocumentType ...) */ </simpara> <simpara> <operator> ::= "=" | /* égal */ </simpara> <simpara> "<" | /* moins que (comparaison de type chaîne) */ </simpara> <simpara> ">" | /* plus que (comparaison de type chaîne) */ </simpara> <simpara> "~" /* recherche par expression régulière */ </simpara> <simpara> </simpara> <para> <parameter>query</parameter> permet de sélectionner une nouvelle fois certains objets dans la liste des objets donnés. Contrairement aux autres requêtes, celle-ci peut utiliser des attributs non indexés. Le nombre d'attributs retourné dépend de la requête de la requête, et des autorisations d'accès aux objets. </para> <para> Voir aussi <function>hw_getandlock</function> et <function>hw_getobjectbyquery</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getandlock"> <refnamediv> <refname>hw_GetAndLock</refname> <refpurpose>Retourne les attributs, et verrouille l'objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_getandlock</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getandlock</function> retourne les attributs, et verrouille l'objet <parameter>objectID</parameter>. Le verrouillage empêchera les autres utilisateurs d'y accéder, jusqu'à ce qu'il soit deverrouillé. </para> <para> Voir aussi <function>hw_unlock</function> et <function>hw_getobject</function>. </para> </refsect1> </refentry> <refentry id="function.hw-gettext"> <refnamediv> <refname>hw_GetText</refname> <refpurpose>Retourne un document texte.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_gettext</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>mixed <parameter> <optional>rootID/prefix</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_gettext</function> retourne le document de l'objet <parameter>objectID</parameter>. Si le document possède des ancrages qui peuvent être insérés, ils seront déjà insérés. L'option rootID/prefix peut être une chaîne ou un entier. Si c'est un entier, il détermine la méthode d'insertion des liens dans le document. Par défaut, il vaut 0 et les liens seront construits en fonction du nom de l'objet cible. Cela sert beaucoup dans les applications web. Si un lien pointe sur un objet avec le nom 'film_internet' le lien HTML sera <A HREF="/internet_movie">. La position réelle de la source et de la cible dans la hiérarchie seront ignorés. Vous devrez modificer votre site web pour qu'il réécrive les URL, comme par exemple '/mon_script.php3/film_internet'. 'mon_script.php3' devra analyser $PATH_INFO et savoir recherche le document '/mon_script.php3/film_internet'. Si vous ne voulez pas de ce comportement, vous pouvez affecter à rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une chaîne. </para> <para> Si <parameter>rootID/prefix</parameter> est un entier différent de 0 le lien sera construit avec tous les noms de la hiérarchie, en commençant à l'objet d'identifiant rootID/prefix, et séparé par des slash. Si, par exemple, le document 'film_internet' est situé à 'a-b-c-internet_movie' et '-' qui sert de séparateur hiérarchique de niveau sur le serveur Hyperwave et le document source est situé dans 'a-b-d-source' alors, le lien HTML serait: <A HREF="../c/internet_movie">. Cela est très pratique si vous voulez télécharger tout le contenu d'un serveur sur un disque, et faire une carte du système sur votre disque. </para> <para> <function>hw_gettext</function> n'est opérationnelle qu'avec des documents de pur texte. Elle n'ouvrira pas de canal spécial de transfert, et ainsi, bloquera le script le temps du transfert. </para> <para> Voir aussi <function>hw_pipedocument</function>, <function>hw_free_document</function>, <function>hw_documentbodytag</function>, <function>hw_documentsize</function> et <function>hw_outputdocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyquery"> <refnamediv> <refname>hw_GetObjectByQuery</refname> <refpurpose>Recherche un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyquery</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyquery</function> recherche un objet sur tout le serveur et retourne un tableau d' object ids. Le nombre maximum d'objet est limité par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyqueryobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyqueryobj"> <refnamediv> <refname>hw_GetObjectByQueryObj</refname> <refpurpose>Recherche un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyqueryobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyqueryobj</function> recherche un objet sur tout le serveur et retourne un tableau d' object records. Le nombre maximum d'objet est limité par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyquery</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyquerycoll"> <refnamediv> <refname>hw_GetObjectByQueryColl</refname> <refpurpose>Recherche un objet dans un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyquerycoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyquerycoll</function> recherche un objet sur tout le groupe objectID et retourne un tableau d' object records. Le nombre maximum d'objet est limité par <parameter>objectID</parameter>. Si <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyquerycollobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getobjectbyquerycollobj"> <refnamediv> <refname>hw_GetObjectByQueryCollObj</refname> <refpurpose>Recherche un objet dans un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getobjectbyquerycollobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>int <parameter>max_hits</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getobjectbyquerycollobj</function> recherche un objet sur tout le groupe objectID et retourne un tableau d' object records. Le nombre maximum d'objet est limité par <parameter>objectID</parameter>. Si <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requête ne fonctionnera qu'avec des attributs indexés. </para> <para> Voir aussi <function>hw_getobjectbyquerycoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getchilddoccoll"> <refnamediv> <refname>hw_GetChildDocColl</refname> <refpurpose>ids des documents fils d'un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchilddoccoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchilddoccoll</function> retourne un tableau avec les id des documents fils d'une collection. </para> <para> Voir aussi <function>hw_getchildcoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getchilddoccollobj"> <refnamediv> <refname>hw_GetChildDocCollObj</refname> <refpurpose>Attributs des documents fils d'un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getchilddoccollobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getchilddoccollobj</function> retourne un tableau contenant les attributs des documents fils du groupe <parameter>objectID</parameter>. </para> <para> Voir aussi <function>hw_childrenobj</function> et <function>hw_getchildcollobj</function>. </para> </refsect1> </refentry> <refentry id="function.hw-getanchors"> <refnamediv> <refname>hw_GetAnchors</refname> <refpurpose>Identifiants des ancrages d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getanchors</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getanchors</function> retourne un tableau contenant les identifiants des ancrages du document <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-getanchorsobj"> <refnamediv> <refname>hw_GetAnchorsObj</refname> <refpurpose>Attributs des ancrages d'un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_getanchorsobj</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getanchorsobj</function> retourne un tableau d'attributs des ancrages du document <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-mv"> <refnamediv> <refname>hw_Mv</refname> <refpurpose>Déplace un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_mv</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>array <parameter>object_id_array</parameter></paramdef> <paramdef>int <parameter>source_id</parameter></paramdef> <paramdef>int <parameter>destination_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_mv</function> déplaces les objets dont les identifiants sont passés dans le tableau <parameter>source_id</parameter>, depuis le <parameter>source_id</parameter> dans le <parameter>destination_id</parameter>. Si destination id vaut 0, les objets ne seront plus insérés dans le groupe (ni dans le serveur). Dans ce cas, si une instance était la dernière instance d'un objet, l'objet sera effacé. Si vous voulez effacer toutes les instances d'un coup, utilisez <function>hw_deleteobject</function>. </para> <para> La valeur retournée est le nombre d'objet déplacés. </para> <para> Voir aussi <function>hw_cp</function> et <function>hw_deleteobject</function>. </para> </refsect1> </refentry> <refentry id="function.hw-identify"> <refnamediv> <refname>hw_Identify</refname> <refpurpose>Identifie un utilisateur.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_identify</function></funcdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_identify</function> identifie un utilisateur, dont le nom d'utilisateur est <parameter>username</parameter> et le mot de passe <parameter>password</parameter>. L'identification n'est valide que pour la session en cours. Je ne pense pas que cette fonction serve souvent. Dans la plupart des cas, il est plus simple de s'identifier lors de l'ouverture de la connexion. </para> <para> Voir aussi <function>hw_connect</function>. </para> </refsect1> </refentry> <refentry id="function.hw-incollections"> <refnamediv> <refname>hw_InCollections</refname> <refpurpose> Vérifie qu'un identifiant d'objet est dans un groupe. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_incollections</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>array <parameter>object_id_array</parameter></paramdef> <paramdef>array <parameter>collection_id_array</parameter></paramdef> <paramdef>int <parameter>return_collections</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_incollections</function> vérifie qu'un ensemble d'objets (documents ou groupes) donnés par <parameter>object_id_array</parameter> fait partie des groupe listés par <parameter>object_id_array</parameter>. Lorsque le quatrième paramètre <parameter>return_collections</parameter> vaut 0, le sous ensemble d'identifiants qui font partie d'un groupe (i.e. les documents ou groupes qui sont fils d'un ou plusieurs groupe, ou leurs fils, récursivement) est retourné sous la forme d'un tableau. Cette option permet de mettre en valeur la partie de l'arborescence qui contient le résultat d'une requête, dans un sens graphique. </para> </refsect1> </refentry> <refentry id="function.hw-info"> <refnamediv> <refname>hw_Info</refname> <refpurpose>Informations à propos d'une connexion.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_info</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_info</function> retourne les informations de la connexion courante. La chaîne retournée a le format suivant : <Serverstring>, <Host>, <Port>, <Username>, <Port of Client>, <Byte swapping> </para> </refsect1> </refentry> <refentry id="function.hw-inscoll"> <refnamediv> <refname>hw_InsColl</refname> <refpurpose>Insère un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_inscoll</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> <paramdef>array <parameter>object_array</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_inscoll</function> insère un nouveau groupe, avec les attributs <parameter>object_array</parameter> dans le groupe <parameter>objectID</parameter>. </para> </refsect1> </refentry> <refentry id="function.hw-insdoc"> <refnamediv> <refname>hw_InsDoc</refname> <refpurpose>Insère un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_insdoc</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>parentID</parameter></paramdef> <paramdef>string <parameter>object_record</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_insdoc</function> insère un nouveau document avec les attributs <parameter>object_record</parameter>, dans le groupe <parameter>parentID</parameter>. Cette fonction insère soit un objet avec ses seuls attributs, soit pur objet ascii, avec <parameter>text</parameter> s'il est fourni. Si vous voulez insérer un document de type général, utilisez plutôt <function>hw_insertdocument</function>. </para> <para> Voir aussi <function>hw_insertdocument</function> et <function>hw_inscoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-insertdocument"> <refnamediv> <refname>hw_InsertDocument</refname> <refpurpose>Insère un document dans un groupe.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_insertdocument</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>parent_id</parameter></paramdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_insertdocument</function> insère un document dans le groupe <parameter>parent_id</parameter>. Le document doit avoir été créé auparavant avec <function>hw_new_document</function>. Assurez-vous que les attributs du nouveau document contiennent au moins les attributs suivants : Type, DocumentType, Title et Name. Vous aurez aussi parfois besoin de MimeType. La fonction retourne l'identifiant de l'objet inséré, ou bien &false;. </para> <para> Voir aussi <function>hw_pipedocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-insertobject"> <refnamediv> <refname>hw_InsertObject</refname> <refpurpose>Insère un object record.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_insertobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>string <parameter>object_rec</parameter></paramdef> <paramdef>string <parameter>parameter</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_insertobject</function> insère un objet dans le serveur. L'objet peut être n'importe quel objet Hyperwave valide. Reportez-vous à la documentation HG-CSP pour plus de détails sur les paramètres. </para> <para> Note: Si vous voulez insérer un ancre, l'attribut Position doit être mis à la valeur start/end (début ou fin) ou encore 'invisible'. Les positions invisibles sont nécessaire si l'annotation n'a pas de liens correspondant dans le texte de l'annotation. </para> <para> Voir aussi <function>hw_pipedocument</function>, <function>hw_insertdocument</function>, <function>hw_insdoc</function> et <function>hw_inscoll</function>. </para> </refsect1> </refentry> <refentry id="function.hw-mapid"> <refnamediv> <refname>hw_mapid</refname> <refpurpose>Représente un id globale en un id virtuel local.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_mapid</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>server_id</parameter></paramdef> <paramdef>int <parameter>object_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_mapid</function> représente l'id d'un objet global de n'importe quel serveur Hyperwave, même si vous ne vous y êtes pas connecté avec <function>hw_connect</function>, avec un id d'objet local virtuel. Cet id d'objet local peut alors être utilisé comme n'importe quel id d'objet : par exemple on peut obtenir l'enregistrement d'objet avec la fonction <function>hw_getobject</function>. L'id du serveur est la première partie de l'id global (GOid) de l'objet, qui est en fait une adresse IP. </para> <para> Note: Afin d'utiliser cette fonction, vous devez lever le flag F_DISTRIBUTED, ce qui ne peut être fait qu'à la compilation. Par défaut, il n'est pas levé. Lisez les commentaires dans le fichier hg_comm.c </para> </refsect1> </refentry> <refentry id="function.hw-modifyobject"> <refnamediv> <refname>hw_Modifyobject</refname> <refpurpose>Modifie les attributs d'objet record.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_modifyobject</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>int <parameter>object_to_change</parameter></paramdef> <paramdef>array <parameter>remove</parameter></paramdef> <paramdef>array <parameter>add</parameter></paramdef> <paramdef>int <parameter>mode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_modifyobject</function> permet d'effacer, d'ajouter ou de modifier les attributs d'un objet. L'objet est reperé par son identifiant <parameter>object_to_change</parameter>. Le premier tableau, <parameter>remove</parameter>, est la liste des attributs à effacer. Le deuxième tableau <parameter>add</parameter> est la liste des attributs à ajouter. Afin de modifier un attribut, il vous faudra dont l'effacer, puis l'ajouter à nouveau. <function>hw_modifyobject</function> effacera toujours les attributs avant de les ajouter, à moins que la valeur de l'attribut à effacer ne soit pas une chaîne, ou un tableau. </para> <para> Le dernier paramètre détermine si la modification est récursive ou pas. 1 signifie que la modification est récursive. Si un objet ne peut pas être modifié, il sera ignoré. <function>hw_error</function> n'indiquera alors pas toujours d'erreur, même si certains objets n'ont pas pu être modifié. </para> <para> Les clés des deux tableaux sont les noms des attributs. La valeur de chaque élément peut être un tableau, ou une chaîne ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut est construite en séparant chaque élément par un point virgule. Dans le cas de la chaîne, elle sert directement de valeur. Une chaîne vide provoquera un effacement de l'attribut. Dans le cas où la valeur n'est ni un tableau, ni une chaîne, aucune opération ne sera effectuée. Cela est nécessaire si vous voulez ajouter un attribut complètement une nouvelle valeur pour un attribut existant. Si le tableau d'effacement contenait une chaîne vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui échouerai de toute manière, car cet attribut n'existe pas. L'ajout de cet attribut échouerai aussi. Affecter la valeur de 0 à cet attribut ne l'effacerait pas, et l'ajout fonctionnerait. </para> <para> Si vous voulez changer l'attribut 'Nom' de valeur courante 'livres' en 'articles' vous devrez faire deux tableaux, et appeler <function>hw_modifyobject</function>. <example> <title>Modification d'un attribut</title> <programlisting role="php"><?php // $connect est une connexion valide // $objid est l'identifiant de l'objet $remarr = array("Name" => "books"); $addarr = array("Name" => "articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> Afin d'effacer/ajouter une paire nom=valeur aux attributs d'un objet, utilisez simplement les tableaux d'effacement et d'ajout, et laissez le dernier/troisième paramètre vide. Si l'attribut est le premier de ce nom à ajouter, donnez une valeur entière à cet élément. <example> <title>Ajouter un nouvel attribut</title> <programlisting role="php"><?php // $connect st une connexion Hyperwave valide // $objid est l'identifiant de l'objet à modifier $remarr = array("Name" => 0); $addarr = array("Name" => "articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> </para> <para> <note> <simpara> Les attributs multilingues, (tels que 'Title'), peuvent être modifiés de deux manières : soit en fournissant la valeur de ces attributs de manière native (langue :valeur), soit en fournissant un tableau avec les éléments de chaque langue, comme décrit ci-dessus. L'exemple deviendrai alors : </simpara> </note> <example> <title>Modifier l'attribut de Titre (Title)</title> <programlisting role="php"><?php $remarr = array("Title" => "en:Books"); $addarr = array("Title" => "en:Articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> ou <example> <title>Modifier l'attribut Title</title> <programlisting role="php"><?php $remarr = array("Title" => array("en" => "Books")); $addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel")); $hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> Pour supprimer l'entrée française 'Livres' et ajouter l'entrée 'Articles' et l'entrée allemande 'Artikel'. <example> <title>Suppression d'un attribut</title> <programlisting role="php"><?php$remarr = array("Title" => "");$addarr = array("Title" => "en:Articles");$hw_modifyobject($connect, $objid, $remarr, $addarr);?> </programlisting> </example> <note> <simpara> Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter un nouvel attribut 'Title'. Cela peut être pratique pour effacer des attributs récursivement. </simpara> </note> <note> <simpara> Si vous devez effacer tous les attributs avec un certains nom, vous devez passer une chaîne vide comme valeur. </simpara> </note> <note> <simpara> Seuls les attributs 'Title', 'Description' et 'Keyword' gère correctement le préfixe de langue. Pour les autres attributs qui ne portent pas de préfixe de language, le préfixe 'xx' sera assigné. </simpara> </note> <note> <simpara> L'attribut 'Name' est un peu particuluer. Dans certains cas, il ne peut pas être complétement effacé. Vous aurez alors le message 'Change of base attribute' (l'apparition de cette erreur n'est pas très claire). Ainsi, vous aurez à ajouter une nouvelle entrée pour Name puis, effacer l'ancien. </simpara> </note> <note> <simpara> Il ne faut pas encadrer cette fonction par des appels à <function>hw_getandlock</function> et <function>hw_unlock</function>. <function>hw_modifyobject</function> le fait de manière interne. </simpara> </note> </para> <para> Retourne &true; si aucune erreur ne survient, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.hw-new-document"> <refnamediv> <refname>hw_New_Document</refname> <refpurpose>Crée un nouveau document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_new_document</function></funcdef> <paramdef>string <parameter>object_record</parameter></paramdef> <paramdef>string <parameter>document_data</parameter></paramdef> <paramdef>int <parameter>document_size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_new_document</function> retourne un nouveau document Hyperwave avec comme données <parameter>document_data</parameter> et comme attributs <parameter>object_record</parameter>. La longueur de <parameter>document_data</parameter> doit être données dans <parameter>document_size</parameter>. Cette fonction n'insère pas l'objet dans le serveur Hyperwave. </para> <para> Voir aussi <function>hw_free_document</function>, <function>hw_documentsize</function>, <function>hw_documentbodytag</function>, <function>hw_outputdocument</function> et <function>hw_insertdocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-objrec2array"> <refnamediv> <refname>hw_Objrec2Array</refname> <refpurpose>Convertit les attributs d'un objet en tableau.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>hw_objrec2array</function></funcdef> <paramdef>string <parameter>object_record</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_objrec2array</function> convertit les attributs <parameter>object_record</parameter> d'un objet en un tableau. Les clés du tableau seront les noms des attributs. Les attributs multiples comme par exemple 'Title', dans différentes langues, seront rassemblées dans un autre tableau. Une clé est la partie gauche d'un attribut. Actuellement, seuls les attributs 'Title', 'Description' et 'Keyword' sont traités correctement. </para> <para> Voir aussi <function>hw_array2objrec</function>. </para> </refsect1> </refentry> <refentry id="function.hw-outputdocument"> <refnamediv> <refname>hw_OutputDocument</refname> <refpurpose>Affiche hw_document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_outputdocument</function></funcdef> <paramdef>int <parameter>hw_document</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_outputdocument</function> affiche <parameter>hw_document</parameter> sans la balise BODY. </para> </refsect1> </refentry> <refentry id="function.hw-pconnect"> <refnamediv> <refname>hw_pConnect</refname> <refpurpose>Crée une connexion persistante.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_pconnect</function></funcdef> <paramdef>string <parameter>host</parameter></paramdef> <paramdef>int <parameter>port</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_pconnect</function> retourne un index de connexion en cas de succès, et &false; si la connexion n'a pas pu être créée. <function>hw_pconnect</function> ouvre une connexion persistante à un serveur Hyperwave. Tous les arguments doivent être entre guillemets, hormis le numéro de port <parameter>port</parameter>. Les arguments <parameter>username</parameter> et <parameter>password</parameter> sont optionnels, et peuvent être ignorés. Dans ce cas, aucune authentification ne sera faite, (connexion anonyme). Cette fonction retourne un index de connexion qui sera utilisée par les autres fonctions Hyperwave. Vous pouvez ouvrir plusieurs connexions simultanées. </para> <para> Voir aussi <function>hw_connect</function>. </para> </refsect1> </refentry> <refentry id="function.hw-pipedocument"> <refnamediv> <refname>hw_PipeDocument</refname> <refpurpose>Retourne un document.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_pipedocument</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_pipedocument</function> retourne le document Hyperwave d'objet id <parameter>objectID</parameter>. Si le document a des ancrages, ils seront insérés. Le document sera transmis via une connexion de données spéciale, qui ne bloque pas la connexion de contrôle (ie, le serveur n'attend pas la fin du transfert pour rendre la main). </para> <para> Voir aussi <function>hw_gettext</function> (insertions), <function>hw_free_document</function>, <function>hw_documentsize</function>, <function>hw_documentbodytag</function> et <function>hw_outputdocument</function>. </para> </refsect1> </refentry> <refentry id="function.hw-root"> <refnamediv> <refname>hw_Root</refname> <refpurpose>Object id de la racine.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_root</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_root</function> retourne l'object id de la racine. Actuellement, cette identifiant est toujours 0. L'ensemble des fils de la racine est celui du serveur courant. </para> </refsect1> </refentry> <refentry id="function.hw-unlock"> <refnamediv> <refname>hw_Unlock</refname> <refpurpose>Déverrouille un objet.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_unlock</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> <paramdef>resource <parameter>objectID</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_unlock</function> déverrouille un document, et laisse l'accès aux autres utilisateurs. </para> <para> Voir aussi <function>hw_getandlock</function>. </para> </refsect1> </refentry> <refentry id="function.hw-who"> <refnamediv> <refname>hw_Who</refname> <refpurpose>Liste des utilisateurs actuellement identifiés.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>hw_who</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_who</function> retourne un tableau contenant la liste des utilisateurs actuellement connectés au serveur Hyperwave. Chaque élément du tableau est lui-même un tableau, qui contient l'identifiant de l'élément, le nom, le système, la date de connexion (onSinceDate), l'heure de connexion (onSinceTime), la durée de connexion (TotalTime ) et self. 'self' contient l'élément est l'utilisateur qui a appelé la fonction. </para> </refsect1> </refentry> <refentry id="function.hw-getusername"> <refnamediv> <refname>hw_Username</refname> <refpurpose>Nom de l'utilisateur actuellement identifié.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>hw_getusername</function></funcdef> <paramdef>resource <parameter>connection</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>hw_getusername</function> retourne le nom d'utilisateur utilisé par la connexion. </para> </refsect1> </refentry> </reference> <!-- 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 sgml-parent-document:nil sgml-default-dtd-file:"../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: --> \ No newline at end of file Index: phpdoc/fr/functions/ibase.xml diff -u phpdoc/fr/functions/ibase.xml:1.9 phpdoc/fr/functions/ibase.xml:1.10 --- phpdoc/fr/functions/ibase.xml:1.9 Tue Jul 31 04:05:47 2001 +++ phpdoc/fr/functions/ibase.xml Mon Nov 12 00:10:21 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.ibase"> <title>InterBase</title> <titleabbrev>InterBase</titleabbrev> @@ -14,7 +16,7 @@ à PHP 4.0. </para> <para> - Cette base de données utilise les guillemets simples (') + Cette base de données utilise les guillemets simples (<literal>'</literal>) pour échapper les caractères, un peu comme le fait Sybase. Ajoutez à votre fichier <filename>php.ini</filename> la directive suivante : Index: phpdoc/fr/functions/icap.xml diff -u phpdoc/fr/functions/icap.xml:1.5 phpdoc/fr/functions/icap.xml:1.6 --- phpdoc/fr/functions/icap.xml:1.5 Sat Jul 7 18:22:11 2001 +++ phpdoc/fr/functions/icap.xml Mon Nov 12 00:10:21 2001 @@ -1,457 +1 @@ - <reference id="ref.icap"> - <title>ICAP</title> - <titleabbrev>ICAP</titleabbrev> - <partintro> - <simpara> - Pour faire fonctionner ces fonctions, vous devez compiler PHP avec - l'option <option role="configure">--with-icap</option>. Il vous faudra - aussi la librairie icap. Récupérez la dernière - version à <ulink url="&url.icap;">&url.icap;</ulink> et - décompilez-la, puis installez la. - </simpara> - </partintro> - <refentry id="function.icap-open"> - <refnamediv> - <refname>icap_open</refname> - <refpurpose>Ouvre une connexion ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>icap_open</function></funcdef> - <paramdef>string <parameter>calendar</parameter></paramdef> - <paramdef>string <parameter>username</parameter></paramdef> - <paramdef>string <parameter>password</parameter></paramdef> - <paramdef>string <parameter>options</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_open</function> retourne un flot ICAP en cas de succès, - &false; en cas d'erreur. - </para> - <para> - <function>icap_open</function> ouvre une connexion ICAP au serveur de - calendrier <parameter>calendar</parameter>. Si le paramètre - <parameter>options</parameter> est spécifié, passe - <parameter>options</parameter> à la boîte aux lettres(????). - </para> - </refsect1> - </refentry> - <refentry id="function.icap-close"> - <refnamediv> - <refname>icap_close</refname> - <refpurpose>Ferme le flot ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>icap_close</function></funcdef> - <paramdef>resource <parameter>icap_stream</parameter></paramdef> - <paramdef>int - <parameter><optional>flags</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_close</function> ferme le flot ICAP - <parameter>icap_stream</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-fetch-event"> - <refnamediv> - <refname>icap_fetch_event</refname> - <refpurpose>Recherche un événement dans le calendrier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>icap_fetch_event</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>event_id</parameter></paramdef> - <paramdef>int - <parameter><optional>options</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_fetch_event</function> recherche un évenement - dans le calendrier spécifié par <parameter>id</parameter>. - </para> - <para> - Retourne un objet événement dont les attributs sont : - <itemizedlist> - <listitem> - <simpara> - int id - ID de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int public - &true; si l'événement est public, &false; si il est privé. - </simpara> - </listitem> - <listitem> - <simpara> - string category - Catégorie de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string title - Titre de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string description - Description de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. - </simpara> - </listitem> - <listitem> - <simpara> - object start - Objet contenant une date et une heure. - </simpara> - </listitem> - <listitem> - <simpara> - object end - Objet contenant une date et une heure. - </simpara> - </listitem> - </itemizedlist> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.icap-list-events"> - <refnamediv> - <refname>icap_list_events</refname> - <refpurpose> - Retourne une liste d'événement entre deux dates. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>icap_list_events</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>begin_date</parameter></paramdef> - <paramdef>int - <parameter><optional>end_date</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_list_events</function> retourne un tableau d'identificants - d'événéments, compris entre deux dates. - </para> - <para> - <function>icap_list_events</function> prend une date de début et - une date de fin. Un tableau d'identifiants est retourné. - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - <refentry id="function.icap-store-event"> - <refnamediv> - <refname>icap_store_event</refname> - <refpurpose>Enregistre un événement dans un agenda ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>icap_store_event</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>object <parameter>event</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_store_event</function> enregistre un événement - dans un calendrier ICAP. - </para> - <para> - Un événement est un objet avec les attributs suivants : - <itemizedlist> - <listitem> - <simpara> - int id - ID de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int public - &true; si l'événement est public, &false; si il est privé. - </simpara> - </listitem> - <listitem> - <simpara> - string category - Catégorie de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string title - Titre de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - string description - Description de l'événement. - </simpara> - </listitem> - <listitem> - <simpara> - int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. - </simpara> - </listitem> - <listitem> - <simpara> - object start - Objet contenant une date et une heure. - </simpara> - </listitem> - <listitem> - <simpara> - object end - Objet contenant une date et une heure. - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - <para> - Retourne &true; en cas de succès, et &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-delete-event"> - <refnamediv> - <refname>icap_delete_event</refname> - <refpurpose>Efface un événement dans un agenda ICAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>icap_delete_event</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>uid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_delete_event</function> efface l'événement - d'identifiant <parameter>uid</parameter>. - </para> - <para> - Retourne &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-snooze"> - <refnamediv> - <refname>icap_snooze</refname> - <refpurpose>Eteind l'alarme d'un événement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>icap_snooze</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>int <parameter>uid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_snooze</function> éteind l'alarme de - l'événement identifié par l'UID - <parameter>uid</parameter>.</para> - <para> - Retourne &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.icap-list-alarms"> - <refnamediv> - <refname>icap_list_alarms</refname> - <refpurpose> - Retourne une liste d'événements qui ont une alarme - prévue à une date. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>icap_list_alarms</function></funcdef> - <paramdef>resource <parameter>stream_id</parameter></paramdef> - <paramdef>array <parameter>date</parameter></paramdef> - <paramdef>array <parameter>time</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>icap_list_alarms</function> retourne un tableau d'identifiants, - qui ont une alarme de prévue à la date - <parameter>alarm_date</parameter>. - </para> - <para> - <function>icap_list_alarms</function> prend une date, et retourne un tableau - d'identifiants. - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - année - </simpara> - </listitem> - <listitem> - <simpara> - int month - mois - </simpara> - </listitem> - <listitem> - <simpara> - int mday - jour du mois - </simpara> - </listitem> - <listitem> - <simpara> - int hour - heure - </simpara> - </listitem> - <listitem> - <simpara> - int min - minutes - </simpara> - </listitem> - <listitem> - <simpara> - int sec - secondes - </simpara> - </listitem> - </itemizedlist> - </para> - </refsect1> - </refentry> - </reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.6 $ --> <reference id="ref.icap"> <title>ICAP</title> <titleabbrev>ICAP</titleabbrev> <partintro> <simpara> Pour faire fonctionner ces fonctions, vous devez compiler PHP avec l'option <option role="configure">--with-icap</option>. Il vous faudra aussi la librairie icap. Récupérez la dernière version à <ulink url="&url.icap;">&url.icap;</ulink> et décompilez-la, puis installez la. </simpara> </partintro> <refentry id="function.icap-open"> <refnamediv> <refname>icap_open</refname> <refpurpose>Ouvre une connexion ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>icap_open</function></funcdef> <paramdef>string <parameter>calendar</parameter></paramdef> <paramdef>string <parameter>username</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>string <parameter>options</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_open</function> retourne un flot ICAP en cas de succès, &false; en cas d'erreur. </para> <para> <function>icap_open</function> ouvre une connexion ICAP au serveur de calendrier <parameter>calendar</parameter>. Si le paramètre <parameter>options</parameter> est spécifié, passe <parameter>options</parameter> à la boîte aux lettres(????). </para> </refsect1> </refentry> <refentry id="function.icap-close"> <refnamediv> <refname>icap_close</refname> <refpurpose>Ferme le flot ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>icap_close</function></funcdef> <paramdef>resource <parameter>icap_stream</parameter></paramdef> <paramdef>int <parameter><optional>flags</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_close</function> ferme le flot ICAP <parameter>icap_stream</parameter>. </para> </refsect1> </refentry> <refentry id="function.icap-fetch-event"> <refnamediv> <refname>icap_fetch_event</refname> <refpurpose>Recherche un événement dans le calendrier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>icap_fetch_event</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>event_id</parameter></paramdef> <paramdef>int <parameter><optional>options</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_fetch_event</function> recherche un évenement dans le calendrier spécifié par <parameter>id</parameter>. </para> <para> <function>icap_fetch_event</function> retourne un objet événement dont les attributs sont : <itemizedlist> <listitem> <simpara> int id - ID de l'événement. </simpara> </listitem> <listitem> <simpara> int public - &true; si l'événement est public, &false; si il est privé. </simpara> </listitem> <listitem> <simpara> string category - Catégorie de l'événement. </simpara> </listitem> <listitem> <simpara> string title - Titre de l'événement. </simpara> </listitem> <listitem> <simpara> string description - Description de l'événement. </simpara> </listitem> <listitem> <simpara> int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. </simpara> </listitem> <listitem> <simpara> object start - Objet contenant une date et une heure. </simpara> </listitem> <listitem> <simpara> object end - Objet contenant une date et une heure. </simpara> </listitem> </itemizedlist> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> <refentry id="function.icap-list-events"> <refnamediv> <refname>icap_list_events</refname> <refpurpose> Retourne une liste d'événement entre deux dates. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>icap_list_events</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>begin_date</parameter></paramdef> <paramdef>int <parameter><optional>end_date</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_list_events</function> retourne un tableau d'identificants d'événéments, compris entre deux dates. </para> <para> <function>icap_list_events</function> prend une date de début et une date de fin. Un tableau d'identifiants est retourné. </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> <refentry id="function.icap-store-event"> <refnamediv> <refname>icap_store_event</refname> <refpurpose>Enregistre un événement dans un agenda ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>icap_store_event</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>object <parameter>event</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_store_event</function> enregistre un événement dans un calendrier ICAP. </para> <para> Un événement est un objet avec les attributs suivants : <itemizedlist> <listitem> <simpara> int id - ID de l'événement. </simpara> </listitem> <listitem> <simpara> int public - &true; si l'événement est public, &false; si il est privé. </simpara> </listitem> <listitem> <simpara> string category - Catégorie de l'événement. </simpara> </listitem> <listitem> <simpara> string title - Titre de l'événement. </simpara> </listitem> <listitem> <simpara> string description - Description de l'événement. </simpara> </listitem> <listitem> <simpara> int alarm - Nombre de minutes avant d'envoyer une alerte pour cet événement. </simpara> </listitem> <listitem> <simpara> object start - Objet contenant une date et une heure. </simpara> </listitem> <listitem> <simpara> object end - Objet contenant une date et une heure. </simpara> </listitem> </itemizedlist> </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> <para> <function>icap_store_event</function> retourne &true; en cas de succès, et &false; en cas d'erreur. </para> </refsect1> </refentry> <refentry id="function.icap-delete-event"> <refnamediv> <refname>icap_delete_event</refname> <refpurpose>Efface un événement dans un agenda ICAP.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>icap_delete_event</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>uid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_delete_event</function> efface l'événement d'identifiant <parameter>uid</parameter>. </para> <para> <function>icap_delete_event</function> retourne &true;. </para> </refsect1> </refentry> <refentry id="function.icap-snooze"> <refnamediv> <refname>icap_snooze</refname> <refpurpose>Eteind l'alarme d'un événement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>icap_snooze</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>int <parameter>uid</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_snooze</function> éteind l'alarme de l'événement identifié par l'UID <parameter>uid</parameter>.</para> <para> <function>icap_snooze</function> retourne &true;. </para> </refsect1> </refentry> <refentry id="function.icap-list-alarms"> <refnamediv> <refname>icap_list_alarms</refname> <refpurpose> Retourne une liste d'événements qui ont une alarme prévue à une date. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>icap_list_alarms</function></funcdef> <paramdef>resource <parameter>stream_id</parameter></paramdef> <paramdef>array <parameter>date</parameter></paramdef> <paramdef>array <parameter>time</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>icap_list_alarms</function> retourne un tableau d'identifiants, qui ont une alarme de prévue à la date <parameter>alarm_date</parameter>. </para> <para> <function>icap_list_alarms</function> prend une date, et retourne un tableau d'identifiants. </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - année </simpara> </listitem> <listitem> <simpara> int month - mois </simpara> </listitem> <listitem> <simpara> int mday - jour du mois </simpara> </listitem> <listitem> <simpara> int hour - heure </simpara> </listitem> <listitem> <simpara> int min - minutes </simpara> </listitem> <listitem> <simpara> int sec - secondes </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> </reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file Index: phpdoc/fr/functions/iconv.xml diff -u phpdoc/fr/functions/iconv.xml:1.1 phpdoc/fr/functions/iconv.xml:1.2 --- phpdoc/fr/functions/iconv.xml:1.1 Fri Jul 20 03:06:30 2001 +++ phpdoc/fr/functions/iconv.xml Mon Nov 12 00:10:21 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.2 $ --> <reference id="ref.iconv"> <title>Iconv</title> <titleabbrev>iconv</titleabbrev> @@ -13,8 +15,8 @@ </para> <para> L'extension iconv convertit des fichiers entre divers jeux de caractères. - Les jeux supportés dépendent de l'implémentation de iconv() sur votre - système. Notez que cette fonction ne fonctionne pas toujours bien + Les jeux supportés dépendent de l'implémentation de iconv() + sur votre système. Notez que cette fonction ne fonctionne pas toujours bien sur tous les systèmes. Dans ce cas, vous devez installer la librairie tout de même. </para> @@ -45,7 +47,7 @@ <title>Exemple avec <function>iconv</function></title> <programlisting role="php"> <?php - echo iconv("ISO-8859-1","UTF8","Ceci est un test."); + echo iconv("ISO-8859-1","UTF-8","Ceci est un test."); ?> </programlisting> </example> @@ -144,7 +146,8 @@ <para> <function>ob_iconv_handler</function> convertit la chaîne utilisant le jeu de caractères <parameter>internal_encoding</parameter> en - une chaîne utilisant le jeu de caractères <parameter>output_encoding</parameter>. + une chaîne utilisant le jeu de caractères + <parameter>output_encoding</parameter>. </para> <para> <parameter>internal_encoding</parameter> et Index: phpdoc/fr/functions/ifx.xml diff -u phpdoc/fr/functions/ifx.xml:1.9 phpdoc/fr/functions/ifx.xml:1.10 --- phpdoc/fr/functions/ifx.xml:1.9 Thu Jul 12 08:19:14 2001 +++ phpdoc/fr/functions/ifx.xml Mon Nov 12 00:10:21 2001 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.10 $ --> <reference id="ref.ifx"> <title>Informix</title> <titleabbrev>Informix</titleabbrev> @@ -183,7 +185,7 @@ </funcsynopsis> <para> <function>ifx_connect</function> retourne un identifiant de connexion, en - cas de succès, et <literal>FALSE</literal> sinon. + cas de succès, et &false; sinon. </para> <para> <function>ifx_connect</function> établit une connexion à un @@ -207,7 +209,9 @@ les connexions avec <function>ifx_close</function>. </para> <para> - Voir aussi<function>ifx_pconnect</function> et <function>ifx_close</function>. + Voir aussi + <function>ifx_pconnect</function> et + <function>ifx_close</function>. <example> <title>Connection à un serveur Informix</title> <programlisting role="php"> @@ -244,7 +248,7 @@ </funcsynopsis> <para> <function>ifx_pconnect</function> retourne un identifiant positif de - connexion Informix, ou <literal>FALSE</literal>, en cas d'erreur. + connexion Informix, ou &false;, en cas d'erreur. </para> <para> <function>ifx_pconnect</function> se comporte de manière très @@ -269,7 +273,8 @@ Ainsi, ce type de lien est appelé 'persistant'. </para> <para> - Voir aussi: <function>ifx_connect</function>. + Voir aussi + <function>ifx_connect</function>. </para> </refsect1> </refentry> @@ -289,7 +294,7 @@ </funcprototype> </funcsynopsis> <para> - <function>ifx_close</function> retourne toujours <literal>TRUE</literal>. + <function>ifx_close</function> retourne toujours &true;. </para> <para> <function>ifx_close</function> ferme le lien au serveur de données @@ -308,7 +313,9 @@ <function>ifx_pconnect</function>. </para> <para> - Voir aussi: <function>ifx_connect</function> et <function>ifx_pconnect</function>. + Voir aussi + <function>ifx_connect</function> et + <function>ifx_pconnect</function>. <example> <title>Fermer une connexion Informix</title> <programlisting role="php"> @@ -348,7 +355,7 @@ </funcsynopsis> <para> <function>ifx_query</function> retourne un identifiant positif de - résultat Informix en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + résultat Informix en cas de succès, et &false; en cas d'erreur. </para> <para> L'entier de type "identifiant de résultat" est utilisé par4 @@ -401,7 +408,8 @@ (voir plus loin). </para> <para> - Voir aussi : <function>ifx_connect</function>. + Voir aussi + <function>ifx_connect</function>. <example> <title> Afficher toutes les lignes de la table "ordres" sous la forme html @@ -503,7 +511,8 @@ suivant la configuration (voir plus loin). </para> <para> - Voir aussi <function>ifx_do</function>. + Voir aussi + <function>ifx_do</function>. </para> </refsect1> </refentry> @@ -523,8 +532,8 @@ </funcprototype> </funcsynopsis> <para> - <function>ifx_do</function> retourne <literal>TRUE</literal> en cas de succès, - <literal>FALSE</literal> en cas d'erreur. + <function>ifx_do</function> retourne &true; en cas de succès, + &false; en cas d'erreur. </para> <para> Exécute une requête qui a déjà été @@ -538,7 +547,8 @@ accès ultérieur par <function>ifx_affected_rows</function>. </para> <para> - Voir aussi : <function>ifx_prepare</function>. Il y a un exemple. + Voir aussi + <function>ifx_prepare</function> (Pour un exemple). </para> </refsect1> </refentry> @@ -559,8 +569,8 @@ </funcsynopsis> <para> <function>ifx_error</function> retourne le code d'erreur de la dernière - requête Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) - formaté comme suit : + requête Informix. Les codes d'erreur Informix (<constant>SQLSTATE</constant> + et <constant>SQLCODE</constant>) formaté comme suit : </para> <para> x [SQLSTATE = aa bbb SQLCODE=cccc] @@ -600,7 +610,8 @@ ou '<literal>N</literal>' (aucune donnée de retour). </para> <para> - Voir aussi: <function>ifx_errormsg</function>. + Voir aussi + <function>ifx_errormsg</function>. </para> </refsect1> </refentry> @@ -628,7 +639,8 @@ <parameter>errorcode</parameter>. </para> <para> - Voir aussi: <function>ifx_error</function>. + Voir aussi + <function>ifx_error</function>. </para> <informalexample> <programlisting role="php"> @@ -672,7 +684,8 @@ <function>ifx_prepare</function> pour limiter la taille des résultats. </para> <para> - Voir aussi : <function>ifx_num_rows</function>. + Voir aussi + <function>ifx_num_rows</function>. </para> <example> <title>Nombre de lignes affectées</title> @@ -767,7 +780,7 @@ </funcsynopsis> <para> <function>ifx_fetch_row</function> retourne un tableau associatif qui - contient la ligne retournée, ou <literal>FALSE</literal> s'il ne reste plus de + contient la ligne retournée, ou &false; s'il ne reste plus de lignes à lire, ou s'il a eu une erreur. </para> <para> @@ -777,7 +790,7 @@ <function>ifx_textasvarchar</function> ou <function>ifx_byteasvarchar</function>, et dans ce cas, les BLOBs seront retournés sous forme de chaîne. - <function>ifx_fetch_row</function> retourne <literal>FALSE</literal> + <function>ifx_fetch_row</function> retourne &false; en cas d'erreur. </para> <para> @@ -801,7 +814,7 @@ </para> <para> Les appels ultérieurs à <function>ifx_fetch_row</function> - retourneront la ligne suivante, ou <literal>FALSE</literal> s'il n'y a plus de ligne. + retourneront la ligne suivante, ou &false; s'il n'y a plus de ligne. </para> <example> <title>Exemple avec <function>ifx_fetch_row</function></title> @@ -855,7 +868,7 @@ </funcsynopsis> <para> <function>ifx_htmltbl_result</function> lit toutes les lignes d'un - tableau, et la met sous la forme d'un tableau HTML, ou <literal>FALSE</literal> en cas + tableau, et la met sous la forme d'un tableau HTML, ou &false; en cas d'erreur. </para> <para> @@ -902,7 +915,7 @@ <para> <function>ifx_fieldtypes</function> retourne un tableau associatif avec les noms des champs comme clés, et les types SQL comme valeur. En - cas d'erreur, retourne <literal>FALSE</literal>. + cas d'erreur, retourne &false;. </para> <example> <title>Nom de champs et type SQL.</title> @@ -939,7 +952,7 @@ <function>ifx_fieldproperties</function> retourne un tableau associatif avec les nom des champs comme clé, et les données de propriétés des champs comme valeur. - <function>ifx_fieldproperties</function> retourne <literal>FALSE</literal> en + <function>ifx_fieldproperties</function> retourne &false; en cas d'erreur. </para> <para> @@ -985,7 +998,7 @@ </funcsynopsis> <para> <function>ifx_num_fields</function> retourne le nombre de colonnes - dans la requête <parameter>result_id</parameter> ou <literal>FALSE</literal> en cas d'erreur. + dans la requête <parameter>result_id</parameter> ou &false; en cas d'erreur. </para> <para> Après avoir préparé ou exécuté une @@ -1032,7 +1045,7 @@ <para> <function>ifx_free_result</function> libère les ressources prises par le résultat <parameter>result_id</parameter>. - <function>ifx_free_result</function> retourne <literal>FALSE</literal> + <function>ifx_free_result</function> retourne &false; en cas d'erreur. </para> </refsect1> @@ -1072,8 +1085,8 @@ <para> <function>ifx_free_char</function> supprime l'objet char <parameter>bid</parameter>. <function>ifx_free_char</function> - retourne <literal>FALSE</literal> en cas d'erreur, - et sinon <literal>TRUE</literal>. + retourne &false; en cas d'erreur, + et sinon &true;. </para> </refsect1> </refentry> @@ -1096,8 +1109,8 @@ char repéré par son identifiant<parameter>bid</parameter>. <parameter>content</parameter> est une chaîne avec les nouvelles données. <function>ifx_update_char</function> retourne - <literal>FALSE</literal> en cas d'erreur, et sinon, - <literal>TRUE</literal>. + &false; en cas d'erreur, et sinon, + &true;. </para> </refsect1> </refentry> @@ -1150,7 +1163,7 @@ si mode = 1: pointeur vers un fichier. </para> <para> - <function>ifx_create_blob</function> retourne <literal>FALSE</literal> + <function>ifx_create_blob</function> retourne &false; en cas d'erreur, et sinon, un identifiant de BLOB. </para> </refsect1> @@ -1169,7 +1182,7 @@ </funcprototype> </funcsynopsis> <para> - <function>ifx_copy_blob</function> retourne <literal>FALSE</literal> en cas d'erreur, et + <function>ifx_copy_blob</function> retourne &false; en cas d'erreur, et sinon, l'identifiant du nouvel objet. </para> </refsect1> @@ -1190,8 +1203,8 @@ <para> <function>ifx_free_blob</function> supprime l'objet BLOB <parameter>bid</parameter>. - <function>ifx_free_blob</function> retourne <literal>FALSE</literal> - en cas d'erreur, et sinon <literal>TRUE</literal>. + <function>ifx_free_blob</function> retourne &false; + en cas d'erreur, et sinon &true;. </para> </refsect1> </refentry> @@ -1233,7 +1246,7 @@ repéré par sont identifiant <parameter>bid</parameter>. <parameter>content</parameter> est une chaîne contenant les nouvelles données. <function>ifx_update_blob</function> retourne - <literal>FALSE</literal> en cas d'erreur, et sinon, <literal>TRUE</literal>. + &false; en cas d'erreur, et sinon, &true;. </para> </refsect1> </refentry> @@ -1341,7 +1354,7 @@ 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des précédents. Vous pouvez aussi utiliser les constantes suivantes : IFX_LO_RDONLY, IFX_LO_WRONLY etc. <function>ifxus_create_slob</function> - retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + retourne &false; en cas d'erreur, et sinon, l'identifiant de l'objet SLOB. </para> </refsect1> @@ -1363,7 +1376,7 @@ <function>ifxus_free_slob</function> supprime un objet SLOB. <parameter>bid</parameter> est l'identifiant de l'objet SLOB. <function>ifxus_free_slob</function> retourne - <literal>FALSE</literal> en cas d'erreur, et sinon <literal>TRUE</literal>. + &false; en cas d'erreur, et sinon &true;. </para> </refsect1> </refentry> @@ -1383,8 +1396,8 @@ <para> <function>ifxus_close_slob</function> ferme l'objet SLOB représenté par son identifiant <parameter>bid</parameter>. - <function>ifxus_close_slob</function> retourne <literal>FALSE</literal> - en cas d'erreur, et sinon, <literal>TRUE</literal>. + <function>ifxus_close_slob</function> retourne &false; + en cas d'erreur, et sinon, &true;. </para> </refsect1> </refentry> @@ -1408,7 +1421,7 @@ valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des valeurs précédentes. - <function>ifxus_open_slob</function> retourne <literal>FALSE</literal> + <function>ifxus_open_slob</function> retourne &false; en cas d'erreur, et sinon, l'identifiant du nouvel objet. </para> </refsect1> @@ -1430,7 +1443,7 @@ <function>ifxus_tell_slob</function> retourne le fichier courant, ou la position courante d'un objet SLOB ouvert. <parameter>bid</parameter> est un identifiant d'objet SLOB. - <function>ifxus_tell_slob</function> retourne <literal>FALSE</literal> + <function>ifxus_tell_slob</function> retourne &false; en cas d'erreur, et sinon, la position du pointeur de fichier. </para> @@ -1457,7 +1470,7 @@ <parameter>bid</parameter> est un identifiant d'objet SLOB. Les modes valides sont : 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END et <parameter>offset</parameter> est un octet d'offset. - <function>ifxus_seek_slob</function> retourne <literal>FALSE</literal> en cas + <function>ifxus_seek_slob</function> retourne &false; en cas d'erreur, et sinon, la position du pointeur de fichier. </para> </refsect1> @@ -1481,7 +1494,7 @@ de l'objet SLOB <parameter>bid</parameter>. <parameter>bid</parameter> est un identifiant d'objet SLOB existant, et <parameter>nbytes</parameter> est le nombre d'octets à lire. - <function>ifxus_read_slob</function> retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + <function>ifxus_read_slob</function> retourne &false; en cas d'erreur, et sinon, une chaîne de caractères. </para> </refsect1> @@ -1505,7 +1518,7 @@ objet SLOB. <parameter>bid</parameter> est un identifiant d'objet SLOB et <parameter>content</parameter> sont les données à écrire. - <function>ifxus_write_slob</function> retourne <literal>FALSE</literal> + <function>ifxus_write_slob</function> retourne &false; en cas d'erreur, et sinon, le nombre d'octets écrits. </para> Index: phpdoc/fr/functions/image.xml diff -u phpdoc/fr/functions/image.xml:1.22 phpdoc/fr/functions/image.xml:1.23 --- phpdoc/fr/functions/image.xml:1.22 Fri Aug 10 04:08:19 2001 +++ phpdoc/fr/functions/image.xml Mon Nov 12 00:10:21 2001 @@ -1,2974 +1 @@ -<!-- $Revision: 1.22 $ --> -<reference id="ref.image"> - <title>Images</title> - <titleabbrev>Graphisme</titleabbrev> - <partintro> - <simpara> - Vous pouvez utiliser les fonctions PHP pour obtenir les - tailles des images aux formats <acronym>JPEG</acronym>, - <acronym>GIF</acronym>, <acronym>PNG</acronym> et - <acronym>SWF</acronym>, et si vous avez la librairie GD (disponible - à <ulink url="&url.gd;">&url.gd;</ulink>) vous pourrez aussi - créer et manipuler ces images. - </simpara> - <simpara> - Les formats des images que vous pourrez manipuler dépendent de la - version de GD que vous installerez, et de toute autre librairie - dont GD a besoin pour traiter à ces images. Les versions - antérieures à la version 1.6 supportent le - <acronym>GIF</acronym>, mais pas le <acronym>PNG</acronym>. - Pour les versions plus récentes, c'est le contraire. - </simpara> - <simpara> - Pour accéder aux images en <acronym>JPEG</acronym>, vous devez - installer la librairie jpeg-6b (disponible à - <ulink url="&url.jpeg;">&url.jpeg;</ulink>), puis, recompiler GD - pour qu'elle utilise jpeg-6b. Vous devrez aussi compiler PHP avec - <link linkend="install.configure.with-jpeg-dir"><option role="configure">--with-jpeg-dir=/path/to/jpeg-6b</option></link>. - </simpara> - <simpara> - Pour ajouter le support des polices Type 1, vous devez installer t1lib - (disponible à <ulink url="&url.t1lib;">&url.t1lib;</ulink>), puis ajouter - l'option <link linkend="install.configure.enable-t1lib"><option role="configure">--with-t1lib[=dir]</option></link>. - </simpara> - </partintro> - <refentry id="function.getimagesize"> - <refnamediv> - <refname>getimagesize</refname> - <refpurpose>Retourne la taille d'une image GIF, JPG ou PNG.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>getimagesize</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - <paramdef>array <parameter><optional>imageinfo</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>getimagesize</function> va déterminer la taille des images - de type <acronym>GIF</acronym>, <acronym>JPG</acronym>, - <acronym>PNG</acronym> ou <acronym>SWF</acronym> et en retourner - les dimensions avec le type d'image, et une chaîne type - "height/width", à placer dans une - balise <acronym>HTML</acronym> ou <sgmltag>IMG</sgmltag> normale. - </para> - <para> - <function>getimagesize</function> retourne un tableau de 4 éléments. - L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 - contient le type de l'image : 1 = <acronym>GIF</acronym>, 2 = JPG, 3 = PNG. L'index 3 contient la - chaîne à placer dans les balises HTML : - "height=xxx width=xxx". - <example> - <title><function>getimagesize</function></title> - <programlisting role="php"> -<?php - $size = getimagesize("img/flag.jpg"); -?> -<IMG SRC="img/flag.jpg" -<?php - echo $size[3]; -?>> - </programlisting> - </example> - </para> - <para> - <example> - <title><function>getimagesize</function> avec une URL</title> - <programlisting role="php"> -<?php - $size = getimagesize("http://www.php.net/gifs/logo.gif"); -?> - </programlisting> - </example> - </para> - <para> - Avec les images <acronym>JPEG</acronym>, deux en-têtes supplémentaires sont - retournés : <literal>channel</literal> et <literal>bits</literal>. - <literal>channel</literal> vaudra 3 avec les images RGB, et 4 avec les - images CMYK. <literal>bits</literal> est le nombre de bits de chaque couleur. - </para> - <para> - Si l'accès à <parameter>filename</parameter> est impossible, - ou si ce n'est pas une image valide, <function>getimagesize</function> - retournera <literal>NULL</literal> et générera une alerte. - </para> - <para> - Le paramètre optionnel <parameter>imageinfo</parameter> permet - d'extraire des informations supplémentaires du fichier image. - Actuellement, cette option va retourner différents marqueurs - <acronym>JPG</acronym> APP dans un tableau associatif. Certains programmes - utilisent ces marqueur APP pour préciser les informations dans - les balises HTML. Un marqueur commun est le marqueur APP13, décrit - à <ulink url="&url.iptc;">&url.iptc;</ulink>. Vous pouvez utiliser - la fonction <function>iptcparse</function> pour analyser ce marqueur, et - obtenir des informations intelligibles. - <example> - <title><function>getimagesize</function> qui retourne IPTC</title> - <programlisting role="php"> -<?php - $size = getimagesize("testimg.jpg",&$info); - if (isset($info["APP13"])) { - $iptc = iptcparse($info["APP13"]); - var_dump($iptc); - } -?> - </programlisting> - </example> - <note> - <simpara> - <function>getimagesize</function> ne requiert pas la bibliothèque GD. - </simpara> - </note> - <note> - <simpara> - Le support URL a été ajouté en PHP 4.0.5. - </simpara> - </note> - </para> - </refsect1> - </refentry> - <refentry id="function.imagealphablending"> - <refnamediv> - <refname>ImageAlphaBlending</refname> - <refpurpose>Modifie le mode de blending d'une image</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagealphablending</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>boolean <parameter>blendmode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagealphablending</function> fournit deux modes de dessins - des images en vraies couleurs (truecolors). En mode "blending", le canal - alpha de chaque couleur est fournie à chaque fonction de dessin, tel que - <function>imagesetpixel</function> peut déterminer sa transparence. GD va alors - automatiquement mixer la couleur à ce point, et stocker le résultat dans - l'image. Le pixel résultant est alors opaque. En mode non-mixant, la - couleur est copiée littéralement avec ses informations de canal alpha, - et remplace le pixel de destination. Le mixage n'est pas disponible - avec les images à palette. Si <parameter>blendmode</parameter> vaut - <literal>TRUE</literal>, alors le mode de mixage sera activé, sinon - il sera désactivé. - </para> - <note> - <para> - <function>imagealphablending</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagearc"> - <refnamediv> - <refname>ImageArc</refname> - <refpurpose>Dessine une ellipse partielle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagearc</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>s</parameter></paramdef> - <paramdef>int <parameter>e</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagearc</function> dessine une ellipse partielle, centrée sur - <parameter>cx</parameter>, <parameter>cy</parameter> (le coin en haut à - gauche est l'origine (0,0)) dans l'image référencée par - <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> spécifient la largeur et la hauteur de l'ellipse, - tandis que le début et la fin de l'arc sont donnés en - degrés, par les arguments <parameter>s</parameter> et - <parameter>e</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilledarc"> - <refnamediv> - <refname>imagefilledarc</refname> - <refpurpose>Dessine une ellipse partielle et la remplit</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledarc</function></funcdef> - <paramdef>int <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>s</parameter></paramdef> - <paramdef>int <parameter>e</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - <paramdef>int <parameter>style</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledarc</function> dessine une ellipse partielle, centrée - sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin supérieur gauche est (0, 0), dans l'image <parameter>im</parameter>. - <parameter>w</parameter> et <parameter>h</parameter> spécifient - respectivement la largeur et la hauteur de l'ellipse, tandis que les points - de début et de fin sont représentés par <parameter>s</parameter> et - <parameter>e</parameter>, en degrés. L'argument <parameter>style</parameter> - est un champ de bits, combiné avec l'opérateur OR : - <orderedlist> - <listitem><simpara><literal>IMG_ARC_PIE</literal></simpara></listitem> - <listitem><simpara><literal>IMG_ARC_CHORD</literal></simpara></listitem> - <listitem><simpara><literal>IMG_ARC_NOFILL</literal></simpara></listitem> - <listitem><simpara><literal>IMG_ARC_EDGED</literal></simpara></listitem> - </orderedlist> - <literal>IMG_ARC_PIE</literal> et <literal>IMG_ARC_CHORD</literal> sont - mutellemement exclusives; <literal>IMG_ARC_CHORD</literal> ne fait que - connecter les angles de début et de fin avec une ligne droite, tandis - que <literal>IMG_ARC_PIE</literal> produit une ligne courbe. - <literal>IMG_ARC_NOFILL</literal> indique que l'arc (ou corde) doit être - dessiné mais pas rempli. <literal>IMG_ARC_EDGED</literal>, utilisé conjointement - avec <literal>IMG_ARC_NOFILL</literal>, indique que les angles de - début et de fin doivent être connectés au centre. Cette fonction est - recommandée pour faire les graphiques de type camenbert. - </para> - <note> - <para> - <function>imagefilledarc</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imageellipse"> - <refnamediv> - <refname>ImageEllipse</refname> - <refpurpose>Dessine une ellipse</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imageellipse</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageellipse</function> dessine une ellipse centrée sur - le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin supérieur gauche est aux coordonnées (0,0). L'image - de dessin est <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> spécifient respectivement la largeur - et la hauteur de l'ellipse. La couleur de dessin de l'ellipse - est <parameter>color</parameter>. - </para> - <note> - <para> - <function>imageellipse</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagefilledellipse"> - <refnamediv> - <refname>ImageFilledEllipse</refname> - <refpurpose>Dessine une ellipse pleine</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledellipse</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>cx</parameter></paramdef> - <paramdef>int <parameter>cy</parameter></paramdef> - <paramdef>int <parameter>w</parameter></paramdef> - <paramdef>int <parameter>h</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledellipse</function> dessine une ellipse centrée sur - le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin supérieur gauche est aux coordonnées (0,0). L'image - de dessin est <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> spécifient respectivement la largeur - et la hauteur de l'ellipse. La couleur de remplissage de l'ellipse - est <parameter>color</parameter>. - </para> - <note> - <para> - <function>imagefilledellipse</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagechar"> - <refnamediv> - <refname>ImageChar</refname> - <refpurpose>Dessine un caractère horizontalement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagechar</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>c</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagechar</function> dessine le premier caractère de la chaîne - <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin - supérieur gauche placé à la position <parameter>x</parameter>,<parameter>y</parameter> - (le coin en haut à gauche est l'origine (0,0)) avec la couleur - <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police intégrée - sera utilisée (plus le chiffre est grand, plus grande est la police). - </para> - <para> - Voir aussi - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecharup"> - <refnamediv> - <refname>ImageCharUp</refname> - <refpurpose>Dessine un caractère verticalement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecharup</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>c</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecharup</function> dessine le premier caractère - de la chaîne <parameter>c</parameter> dans l'image - <parameter>id</parameter> avec le coin supérieur gauche - placé à la position (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin en haut à gauche est l'origine (0,0)), avec la couleur - <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police - intégrée sera utilisée (plus le chiffre est grand, - plus grande est la police). - </para> - <para> - Voir aussi - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorallocate"> - <refnamediv> - <refname>ImageColorAllocate</refname> - <refpurpose>Alloue une couleur pour une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorallocate</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorallocate</function> retourne un identifiant de couleur, - représentant la couleur composée avec les couleurs RGB - (<parameter>red</parameter>, <parameter>green</parameter>, - <parameter>blue</parameter>). L'argument <parameter>im</parameter> est - le résultat de la fonction <function>imagecreate</function>. - <function>imagecolorallocate</function> - doit être appelée pour créer chaque couleur - qui sera représentée par <parameter>im</parameter>. - <informalexample> - <programlisting role="php"> -<?php - $white = imagecolorallocate($im, 255,255,255); - $black = imagecolorallocate($im, 0,0,0); -?> - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolordeallocate"> - <refnamediv> - <refname>ImageColorDeAllocate</refname> - <refpurpose> - Désalloue une couleur pour une image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int - <function>imagecolordeallocate</function> - </funcdef> - <paramdef>resource - <parameter>im</parameter> - </paramdef> - <paramdef>int - <parameter>index</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolordeallocate</function> désalloue une couleur - précédemment allouée avec la fonction - <function>imagecolorallocate</function>. - <informalexample> - <programlisting role="php"> -<?php - $white = imagecolorallocate($im, 255, 255, 255); - imagecolordeallocate($im, $white); -?> - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorat"> - <refnamediv> - <refname>ImageColorAt</refname> - <refpurpose>Retourne l'index de la couleur d'un pixel donné.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorat</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorat</function> retourne l'index de la couleur du pixel situé - aux coordonnées (<parameter>x</parameter>, <parameter>y</parameter>), dans l'image - <parameter>im</parameter>. - </para> - <para> - Voir aussi - <function>imagecolorset</function> et - <function>imagecolorsforindex</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorclosestalpha"> - <refnamediv> - <refname>ImageColorClosestAlpha</refname> - <refpurpose> - Retourne la couleur la plus proche, en tenant compte du canal alpha - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorclosestalpha</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - <paramdef>int <parameter>alpha</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorclosestalpha</function> retourne l'index de la - couleur, dans la palette de l'image <parameter>im</parameter>, - la plus proche de la couleur spécifiée par les autres paramètres, - au format <acronym>RGB</acronym> et de canal alpha <parameter>alpha</parameter>. - </para> - <para> - Voir aussi <function>imagecolorexactalpha</function>. - </para> - <note> - <para> - <function>imagecolorclosestalpha</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecolorclosest"> - <refnamediv> - <refname>ImageColorClosest</refname> - <refpurpose> - Retourne l'index de la couleur la plus proche d'une couleur donnée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorclosest</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorclosest</function> retourne l'index de la couleur de la - palette qui est la plus proche de la valeur RGB passée. - </para> - <para> - La "distance" entre la couleur souhaitée et les couleurs de la palette est calculée - en considérant l'espace RGB comme un espace à 3 dimensions. - </para> - <para> - Voir aussi - <function>imagecolorexact</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorexact"> - <refnamediv> - <refname>ImageColorExact</refname> - <refpurpose>Retourne l'index de la couleur donnée.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorexact</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorexact</function> retourne l'index de la couleur - spécifiée dans la palette de l'image - <parameter>im</parameter>. - </para> - <para> - Si la couleur n'existe pas dans cette palette, <function>imagecolorexact</function> - retourne -1. - </para> - <para> - Voir aussi - <function>imagecolorclosest</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorexactalpha"> - <refnamediv> - <refname>ImageColorExactAlpha</refname> - <refpurpose>Retourne l'index d'une couleur avec son canal alpha</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorexactalpha</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - <paramdef>int <parameter>alpha</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorexactalpha</function> retourne l'index de - la couleur fournie au format <acronym>RGB</acronym> et son canal - alpha <parameter>alpha</parameter>, dans l'image <parameter>im</parameter>. - </para> - <para> - Si la couleur n'existe pas dans la palette de l'image, - <function>imagecolorexactalpha</function> retourne -1. - </para> - <para> - Voir aussi - <function>imagecolorclosestalpha</function>. - </para> - <note> - <para> - <function>imagecolorexactalpha</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecolorresolve"> - <refnamediv> - <refname>ImageColorResolve</refname> - <refpurpose> - Retourne l'index de la couleur donnée, ou la plus proche possible. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorresolve</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorresolve</function> retourne un index de couleur - à tous les coups. Soit il arrive à trouver la couleur - demandée dans la palette, soit il recherche la couleur la plus - proche. - </para> - <para> - Voir aussi - <function>imagecolorclosest</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorresolvealpha"> - <refnamediv> - <refname>ImageColorResolveAlpha</refname> - <refpurpose> - Retourne un index de couleur ou son alternative la plus proche, - y compris le canal alpha - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorresolvealpha</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - <paramdef>int <parameter>alpha</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorresolvealpha</function> retourne toujours un - index de couleur, disponible dans la palette de l'image - <parameter>im</parameter> : soit c'est la couleur exacte, - soit c'est la meilleure approximation. - </para> - <para> - Voir aussi - <function>imagecolorclosestalpha</function>. - </para> - <note> - <para> - <function>imagecolorresolvealpha</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagegammacorrect"> - <refnamediv> - <refname>ImageGammaCorrect</refname> - <refpurpose> - Applique une correction gamma à l'image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagegammacorrect</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>double - <parameter>inputgamma</parameter> - </paramdef> - <paramdef>double - <parameter>outputgamma</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagegammacorrect</function> applique une correction gamma - à l'image GD <parameter>im</parameter>. Le facteur d'entrée est - <parameter>inputgamma</parameter>, et le facteur de sortie est - <parameter>outputgamma</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorset"> - <refnamediv> - <refname>ImageColorSet</refname> - <refpurpose> - Change la couleur dans une palette à l'index donné. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>imagecolorset</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - <paramdef>int <parameter>red</parameter></paramdef> - <paramdef>int <parameter>green</parameter></paramdef> - <paramdef>int <parameter>blue</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorset</function> permet d'attribuer à un index - d'une palette une couleur spécifique. C'est une fonction très - pratique pour effectuer du remplissage de couleur sans le faire - réellement. - </para> - <para> - Voir aussi - <function>imagecolorat</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorsforindex"> - <refnamediv> - <refname>ImageColorsForIndex</refname> - <refpurpose>Retourne la couleur associée à un index.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagecolorsforindex</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorsforindex</function> retourne un tableau associatif - avec les couleurs rouge (red) , vert (green), bleu (blue) qui contiennent - les valeurs de la couleur correspondante. - </para> - <para> - Voir aussi - <function>imagecolorat</function> et - <function>imagecolorexact</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorstotal"> - <refnamediv> - <refname>ImageColorsTotal</refname> - <refpurpose>Calcule le nombre de couleurs d'une palette.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolorstotal</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolorstotal</function> retourne le nombre de couleurs - de la palette. - </para> - <para> - Voir aussi - <function>imagecolorat</function> et - <function>imagecolorsforindex</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolortransparent"> - <refnamediv> - <refname>ImageColorTransparent</refname> - <refpurpose>Définit la couleur transparente.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecolortransparent</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter><optional>col</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecolortransparent</function> permet de choisir la couleur - transparente d'une image, et de lui donner la valeur de col. - <parameter>im</parameter> est un identifiant d'image, retourné - par <function>imagecreate</function> et - <parameter>col</parameter> est un identifiant de couleur - retourné par <function>imagecolorallocate</function>. - </para> - <para> - L'identifiant de la nouvelle (ou courante) couleur transparente est - retourné. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopy"> - <refnamediv> - <refname>ImageCopy</refname> - <refpurpose> - Copie une partie d'une image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int - <function>imagecopy</function> - </funcdef> - <paramdef>resource - <parameter>dst_im</parameter> - </paramdef> - <paramdef>resource - <parameter>src_im</parameter> - </paramdef> - <paramdef>int - <parameter>dst_x</parameter> - </paramdef> - <paramdef>int - <parameter>dst_y</parameter> - </paramdef> - <paramdef>int - <parameter>src_x</parameter> - </paramdef> - <paramdef>int - <parameter>src_y</parameter> - </paramdef> - <paramdef>int - <parameter>src_w</parameter> - </paramdef> - <paramdef>int - <parameter>src_h</parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - Copie une partie de l'image <parameter>src_im</parameter> sur l'image de - destination <parameter>dst_im</parameter>, en commençant aux coordonnées - <parameter>src_x</parameter>, <parameter>src_y</parameter> et sur la largeur - de <parameter>src_w</parameter> et la hauteur de <parameter>src_h</parameter>. - La portion ainsi définie sera copiée et placée aux - coordonnées <parameter>dst_x</parameter> et <parameter>dst_y</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopymerge"> - <refnamediv> - <refname>ImageCopyMerge</refname> - <refpurpose> - Copie et fusionne une partie d'une image - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopymerge</function></funcdef> - <paramdef>resource <parameter>dst_im</parameter> </paramdef> - <paramdef>resource <parameter>src_im</parameter> </paramdef> - <paramdef>int <parameter>dst_x</parameter> </paramdef> - <paramdef>int <parameter>dst_y</parameter> </paramdef> - <paramdef>int <parameter>src_x</parameter> </paramdef> - <paramdef>int <parameter>src_y</parameter> </paramdef> - <paramdef>int <parameter>src_w</parameter> </paramdef> - <paramdef>int <parameter>src_h</parameter> </paramdef> - <paramdef>int <parameter>pct</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopymerge</function> copie une partie de - l'image <parameter>src_im</parameter> dans l'image de destination - <parameter>dst_im</parameter> en commençant aux coordonnées - (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec - la largeur <parameter>src_w</parameter> et la hauteur - <parameter>src_h</parameter>. La zone de l'image ainsi définie sera - copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), - dans l'image de destination. Les deux images seront fusionnées - suivant le paramètre <parameter>pct</parameter>, qui peut valoir de - 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est - faite, alors que si <parameter>pct</parameter> = 100, - <function>imagecopymerge</function> se comporte exactement comme - <function>imagecopy</function>. - </para> - <note> - <para> - <function>imagecopymerge</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecopymergegray"> - <refnamediv> - <refname>ImageCopyMergeGray</refname> - <refpurpose> - Copie et fusionne une partie d'une image en niveaux de gris - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopymergegray</function> </funcdef> - <paramdef>resource <parameter>dst_im</parameter> </paramdef> - <paramdef>resource <parameter>src_im</parameter> </paramdef> - <paramdef>int <parameter>dst_x</parameter> </paramdef> - <paramdef>int <parameter>dst_y</parameter> </paramdef> - <paramdef>int <parameter>src_x</parameter> </paramdef> - <paramdef>int <parameter>src_y</parameter> </paramdef> - <paramdef>int <parameter>src_w</parameter> </paramdef> - <paramdef>int <parameter>src_h</parameter> </paramdef> - <paramdef>int <parameter>pct</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopymergegray</function> copie une partie de - l'image <parameter>src_im</parameter> dans l'image de destination - <parameter>dst_im</parameter> commençant aux coordonnées - (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec - la largeur <parameter>src_w</parameter> et la hauteur - <parameter>src_h</parameter>. La zone de l'image ainsi définie sera - copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), - dans l'image de destination. Les deux images seront fusionnées - suivant le paramètre <parameter>pct</parameter>, qui peut valoir de - 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est - faite, alors que si <parameter>pct</parameter> = 100, - <function>imagecopymerge</function> se comporte exactement comme - <function>imagecopy</function>. - </para> - <para> - <function>imagecopymergegray</function> est identique à la fonction - <function>imagecopymerge</function>, hormis le fait que lors de la - fusion, le "hue" de l'image sera conservé grâce à la conversion - de la zone dans l'image de destination en gris, avant l'opération - de copie. - </para> - <note> - <para> - <function>imagecopymergegray</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecopyresized"> - <refnamediv> - <refname>ImageCopyResized</refname> - <refpurpose>Copie et redimensionne une partie d'une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopyresized</function></funcdef> - <paramdef>resource <parameter>dst_im</parameter></paramdef> - <paramdef>resource <parameter>src_im</parameter></paramdef> - <paramdef>int <parameter>dstX</parameter></paramdef> - <paramdef>int <parameter>dstY</parameter></paramdef> - <paramdef>int <parameter>srcX</parameter></paramdef> - <paramdef>int <parameter>srcY</parameter></paramdef> - <paramdef>int <parameter>dstW</parameter></paramdef> - <paramdef>int <parameter>dstH</parameter></paramdef> - <paramdef>int <parameter>srcW</parameter></paramdef> - <paramdef>int <parameter>srcH</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopyresized</function> copie une partie rectangulaire d'une image - dans une autre image de destination. <parameter>dst_im</parameter> est l'image - de destination, <parameter>src_im</parameter> est l'image source. Si les dimensions - de la source et de la destination ne sont pas égales, un - étirement adéquat est effectué pour faire correspondre - les deux. Les coordonnées fournies sont définies par rapport - au coin supérieur gauche. Cette fonction peut être - utilisée pour recopier des régions à l'intérieur - d'une même image, si <parameter>dst_im</parameter> et - <parameter>src_im</parameter> sont identiques : mais si les - régions se chevauchent, le résultat risque d'être - incohérent. - </para> - <para> - Voir aussi - <function>imagecopyresampled</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopyresampled"> - <refnamediv> - <refname>ImageCopyResampled</refname> - <refpurpose>Copie, redimensionne, rééchantillonne une image</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagecopyresampled</function></funcdef> - <paramdef>resource <parameter>dst_im</parameter></paramdef> - <paramdef>resource <parameter>src_im</parameter></paramdef> - <paramdef>int <parameter>dstX</parameter></paramdef> - <paramdef>int <parameter>dstY</parameter></paramdef> - <paramdef>int <parameter>srcX</parameter></paramdef> - <paramdef>int <parameter>srcY</parameter></paramdef> - <paramdef>int <parameter>dstW</parameter></paramdef> - <paramdef>int <parameter>dstH</parameter></paramdef> - <paramdef>int <parameter>srcW</parameter></paramdef> - <paramdef>int <parameter>srcH</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecopyresampled</function> copie une zone - rectangulaire de l'image <parameter>src_im</parameter> vers - l'image <parameter>src_im</parameter>. Durant la copie, - la zone est rééchantillonnée de manière à conserver la clarté - de l'image durant une réduction. - <parameter>Dst_im</parameter> est l'image de destination, - <parameter>src_im</parameter> est l'image source. - Si les hauteurs et largeur des source et destination - diffèrent, l'image copiée sera étirée - de manière appropriée. - Les coordonnées sont celles du coin supérieur gauche. - <function>imagecopyresampled</function> peut servir à copier - des zones d'une image vers elle-même, mais si les régions se - chevauchent, les résultats sont imprévisibles. - </para> - <para> - Voir aussi - <function>imagecopyresized</function>. - </para> - <note> - <para> - <function>imagecopyresampled</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecreate"> - <refnamediv> - <refname>ImageCreate</refname> - <refpurpose>Crée une nouvelle image à palette.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreate</function></funcdef> - <paramdef>int <parameter>x_size</parameter></paramdef> - <paramdef>int <parameter>y_size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreate</function> retourne un identifiant d'image - représentant une image vide, de largeur <parameter>x_size</parameter> - et longueur <parameter>y_size</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromgif"> - <refnamediv> - <refname>imagecreatefromgif</refname> - <refpurpose> - Crée une nouvelle image à partir d'un fichier ou d'une URL. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromgif</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromgif</function> retourne un identifiant d'image qui - représente l'image obtenue à partir du fichier dont le nom est - donné. - </para> - <para> - <function>imagecreatefromgif</function> retourne une chaîne vide en - cas d'échec. Il va aussi retourner une erreur qui va afficher un - lien brisé dans un navigateur. Pour simplifier le débuggage, - utilisez le code suivant, qui retourne une erreur <acronym>GIF</acronym> : - <example> - <title> - Exemple de gestion des erreurs durant la création d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -<?php -function loadgif($imgname){ - $im = @imagecreatefromgif($imgname); /* Tentative d'ouverture */ - if ($im == "") { /* échec ? */ - $im = ImageCreate(150,30); /* Crée une image vide */ - $bgc = ImageColorAllocate($im,255,255,255); - $tc = ImageColorAllocate($im,0,0,0); - imagefilledrectangle($im,0,0,150,30,$bgc); - imagestring($im,1,5,5,"Erreur lors du chargement du fichier $imgname",$tc); - /* Affiche un message d'erreur */ - } - return $im; -} -?> - </programlisting> - </example> - <note> - <para> - Etant donné que toutes les fonctions de gestion des - <acronym>GIF</acronym> ont été supprimées de - la bibliothèque GD version 1.6, cette fonction n'est pas - disponible si vous utilisez cette version de la librairie. - </para> - </note> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatetruecolor"> - <refnamediv> - <refname>ImageCreateTrueColor</refname> - <refpurpose>Crée une nouvelle image en vraies couleurs</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatetruecolor</function></funcdef> - <paramdef>int <parameter>x_size</parameter></paramdef> - <paramdef>int <parameter>y_size</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatetruecolor</function> retourne une ressource - représentant une image noire de largeur <parameter>x_size</parameter>, - et de hauteur <parameter>y_size</parameter>. - </para> - <note> - <para> - <function>imagecreatetruecolor</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagetruecolortopalette"> - <refnamediv> - <refname>ImageTrueColorToPalette</refname> - <refpurpose>Convertit une image en vraies couleurs en image à palette</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>imagetruecolortopalette</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>boolean <parameter>dither</parameter></paramdef> - <paramdef>int <parameter>ncolors</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagetruecolortopalette</function> convertit l'image - en vraies couleurs <parameter>im</parameter> en image à palette. - Le code de cette fonction est directement tiré de la librairie du - "Independent JPEG Group", qui est tout simplement génial. Le code a - été modifié pour préserver l'essentiel du canal alph dans la nouvelle - palette, en plus de conserver les couleurs du mieux possible. Mais - cela ne fonctionne pas toujours comme voulu. Il est alors préférable - de générer un résultat en vraies couleurs, ce qui a toujours le - meilleur rendu. - </para> - <para> - Si <parameter>dither</parameter> vaut <literal>TRUE</literal>, cela - indique que l'image doit être ditherée : l'image sera un peu plus - granuleuse, mais l'approximation des couleurs sera meilleure. - </para> - <para> - <parameter>ncolors</parameter> est le nombre maximal de couleurs dans la - palette finale. - </para> - <note> - <para> - <function>imagetruecolortopalette</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromjpeg"> - <refnamediv> - <refname>ImageCreateFromJPEG</refname> - <refpurpose> - Crée une nouvelle image <acronym>JPEG</acronym> - à partir d'un fichier ou d'une URL - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromjpeg</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromjpeg</function> retourne un identifiant d'image - représentant une image obtenue à partir du fichier - <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas - d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un - lien brisé dans un navigateur web. Pour faciliter le débuggage, - voici une erreur <acronym>JPEG</acronym>: - <example> - <title> - Exemple de gestion d'erreur lors de la création d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -<?php -function loadjpeg($imgname) { - $im = @imagecreatefromjpeg($imgname); /* Tentative d'ouverture */ - if (!$im) { /* Vérification */ - $im = imagecreate(150, 30); /* Création d'une image blanche */ - $bgc = imagecolorallocate($im, 255, 255, 255); - $tc = imagecolorallocate($im, 0, 0, 0); - imagefilledrectangle($im, 0, 0, 150, 30, $bgc); -// Affichage d'un message d'erreur - imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); - } - return $im; -} -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefrompng"> - <refnamediv> - <refname>ImageCreateFromPNG</refname> - <refpurpose> - Crée une nouvelle image <acronym>PNG</acronym> à - partir d'un fichier ou d'une URL - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefrompng</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefrompng</function> retourne un identifiant d'image - représentant une image obtenue à partir du fichier - <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas - d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un - lien brisé dans un navigateur web. Pour faciliter le débuggage, - voici une erreur <acronym>PNG</acronym>: - <example> - <title> - Exemple de gestion d'erreur lors de la création d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -<?php -function LoadPNG($imgname) { - $im = @imagecreatefrompng($imgname); /* Tentative d'ouverture */ - if (!$im) { /* Vérification */ - $im = imagecreate(150, 30); /* Création d'une image blanche */ - $bgc = imagecolorallocate($im, 255, 255, 255); - $tc = imagecolorallocate($im, 0, 0, 0); - imagefilledrectangle($im, 0, 0, 150, 30, $bgc); - /* Affichage d'un message d'erreur */ - imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); - } - return $im; -} -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromwbmp"> - <refnamediv> - <refname>ImageCreateFromWBMP</refname> - <refpurpose>Crée une image depuis un fichier WBMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromwbmp</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromwbmp</function> retourne une ressource d'image - PHP, représentant l'image <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromwbmp</function> retourne une chaîne vide en - cas d'erreur. Il retourne aussi un message d'erreur qui s'affiche - comme un lien mort dans un navigateur. Pour aider au débuggage, - l'exemple suivant va produire une erreur <acronym>WBMP</acronym>: - <example> - <title> - Exemple de gestion des erreurs durant la création d'une image - WBMP (gracieusement proposé par vic@zymsys.com) - </title> - <programlisting role="php"> -function loadwbmp($imgname) { - $im = @imagecreatefromwbmp($imgname); /* Tentative d'ouverture */ - if (!$im) { /* Vérification que cela s'est bien passé */ - $im = imagecreate(20, 20); /* Crée une image blanche */ - $bgc = imagecolorallocate($im, 255, 255, 255); - $tc = imagecolorallocate($im, 0, 0, 0); - imagefilledrectangle($im, 0, 0, 10, 10, $bgc); -// Affiche le message d'erreur - imagestring($im, 1, 5, 5, "Erreur de chargement de $imgname", $tc); - } - return $im; -} - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromstring"> - <refnamediv> - <refname>ImageCreateFromString</refname> - <refpurpose>Crée une image à partir d'une chaîne</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagecreatefromstring</function></funcdef> - <paramdef>string <parameter>string</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagecreatefromstring</function> retourne un identifiant - d'image représentant la chaîne <parameter>string</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagedashedline"> - <refnamediv> - <refname>ImageDashedLine</refname> - <refpurpose>Dessine une ligne pointillée.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagedashedline</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagedashedline</function> dessine une ligne pointillée - entre les points (<parameter>x1</parameter>,<parameter>y1</parameter>) - et (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin - supérieur droit est l'origine (0,0)) dans l'image - <parameter>im</parameter>, avec la couleur <parameter>col</parameter>. - </para> - <para> - Voir aussi <function>imageline</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagedestroy"> - <refnamediv> - <refname>ImageDestroy</refname> - <refpurpose>détruit une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagedestroy</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagedestroy</function> libère toute la mémoire - associée à l'image <parameter>im</parameter>. - <parameter>im</parameter> est un identifiant d'image valide retourné - par <function>imagecreate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefill"> - <refnamediv> - <refname>ImageFill</refname> - <refpurpose>Remplit.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefill</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefill</function> effectue un remplissage avec la couleur - <parameter>col</parameter>, dans l'image <parameter>im</parameter>, - à partir du point de coordonnées (<parameter>x</parameter>, - <parameter>y</parameter>) (le coin supérieur gauche est - l'origine (0,0)). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilledpolygon"> - <refnamediv> - <refname>ImageFilledPolygon</refname> - <refpurpose>Dessine un polygone rempli.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledpolygon</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>array <parameter>points</parameter></paramdef> - <paramdef>int <parameter>num_points</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledpolygon</function> dessine un polygone rempli dans l'image - <parameter>im</parameter>. <parameter>points</parameter> est un tableau PHP qui - contient les sommets des polygones sous la forme :. points[0] = x0, - points[1] = y0, points[2] = x1, points[3] = y1, etc. <parameter>num_points</parameter> - est le nombre total de sommets. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilledrectangle"> - <refnamediv> - <refname>ImageFilledRectangle</refname> - <refpurpose>Dessine un rectangle rempli.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilledrectangle</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilledrectangle</function> dessine un rectangle de - couleur <parameter>col</parameter> dans l'image <parameter>im</parameter>, - en commençant par le sommet supérieur gauche (<parameter>x1</parameter>, - <parameter>y1</parameter>) et finissant au sommet inférieur droit - (<parameter>x2</parameter>, <parameter>y2</parameter>). Le coin supérieur - gauche est l'origine (0, 0). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilltoborder"> - <refnamediv> - <refname>ImageFillToBorder</refname> - <refpurpose>Remplit avec une région avec une couleur spécifique.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefilltoborder</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>border</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefilltoborder</function> remplit avec la couleur <parameter>col</parameter> - toute la région à l'intérieur de la région limitée par la couleur - <parameter>border</parameter>. Le point de départ est - (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin supérieur gauche est l'origine (0,0)). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefontheight"> - <refnamediv> - <refname>ImageFontHeight</refname> - <refpurpose>Retourne la hauteur de la police.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefontheight</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefontheight</function> retourne la hauteur de la police - <parameter>font</parameter> en pixels. - </para> - <para> - Voir aussi - <function>imagefontwidth</function> et - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagefontwidth"> - <refnamediv> - <refname>ImageFontWidth</refname> - <refpurpose>Retourne la largeur de la police.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagefontwidth</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagefontwidth</function> retourne la largeur de la police - <parameter>font</parameter> en pixels. - </para> - <para> - Voir aussi - <function>imagefontheight</function> et - <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagegif"> - <refnamediv> - <refname>ImageGif</refname> - <refpurpose>Envoie une image GIF vers un navigateur ou un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagegif</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagegif</function> crée un fichier image <acronym>GIF</acronym> avec le nom - <parameter>filename</parameter> d'après l'image <parameter>im</parameter>. - L'argument <parameter>im</parameter> est un identifiant valide retourné par la - fonction <function>imagecreate</function>. - </para> - <para> - Le format de l'image sera GIF87a, à moins que l'image n'ait une couleur transparente - (mise en place grâce à la fonction <function>imagecolortransparent</function>)), - ce qui fera qu'elle sera au format GIF89a. - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement à la sortie standard. En envoyant une en-tête de type - <literal>image/gifcontent-type</literal> , (grâce à la fonction - <function>header</function>), vous pouvez créer des images avec - des scripts PHP. - <note> - <para> - Etant donné que toutes les fonctions <acronym>GIF</acronym> ont été - supprimées de la bibliothèque GD version 1.6, cette fonction - ne sera pas accessible si vous avez cette version de la librairie. - </para> - <para> - Le code suivant vous permet d'écrire des scripts PHP plus portables : - le type de GD est automatiquement détecté. Il remplace la - séquence <literal>Header("Content-type: image/gif"); ImageGif($im);</literal> - par un code plus souple : - <informalexample> - <programlisting role="php"> -<?php - if (function_exists("imagegif")) { - header("Content-type: image/gif"); - imagegif($im); - } - elseif (function_exists("imageJpeg")) { - header("Content-type: image/jpeg"); - imagejpeg($im, "", 0.5); - } - elseif (function_exists("imagePng")) { - header("Content-type: image/png"); - imagepng($im); - } elseif (function_exists("imagewbmp")) { - header("Content-type: image/vnd.wap.wbmp"); - imagewbmp($im); - } else { - die("Pas de support graphique avec PHP sur ce serveur"); - } -?> - </programlisting> - </informalexample> - </para> - </note> - <note> - <para> - En PHP 4, à partir de la version 4.0.2, vous pouvez utiliser la fonction - <function>imagetypes</function> à la place de - <function>function_exists</function> pour vérifier que certains - formats d'images sont supportés : - <informalexample> - <programlisting role="php"> -<?php - if (function_exists("imagegif")) { - header("Content-type: image/gif"); - imagegif($im); - } - elseif (function_exists("imageJpeg")) { - header("Content-type: image/jpeg"); - imagejpeg($im, "", 0.5); - } - elseif (function_exists("imagePng")) { - header("Content-type: image/png"); - imagepng($im); - } elseif (function_exists("imagewbmp")) { - header("Content-type: image/vnd.wap.wbmp"); - imagewbmp($im); - } else { - die("Pas de support graphique avec PHP sur ce serveur"); - } -?> - </programlisting> - </informalexample> - </para> - </note> - </para> - <para> - Voir aussi <function>imagepng</function>, <function>imagewbmp</function>, - <function>imagejpeg</function>, <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepng"> - <refnamediv> - <refname>ImagePNG</refname> - <refpurpose> - Envoie une image PNG vers un navigateur ou un fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepng</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string <parameter><optional>filename</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepng</function> envoie l'image GD (<parameter>im</parameter>) - au format <acronym>PNG</acronym> sur la sortie standard (typiquement, - le navigateur web), ou si <parameter>filename</parameter> est fourni, - l'envoie dans un fichier. - <informalexample> - <programlisting role="php"> -<?php - $im = imagecreatefrompng("test.png"); - imagepng($im); -?> - </programlisting> - </informalexample> - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement à la sortie standard. En envoyant une image de type - <literal>image/png content-type</literal> (grâce à la fonction - <function>header</function>), vous pouvez créer des images - <acronym>PNG</acronym> avec des scripts PHP. - </para> - <para> - Voir aussi <function>imagegif</function>, <function>imagewbmp</function>, - <function>imagejpeg</function>, <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagejpeg"> - <refnamediv> - <refname>ImageJPEG</refname> - <refpurpose> - Envoie une image JPEG vers un navigateur ou un fichier. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagejpeg</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string - <parameter><optional>filename</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>quality</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagejpeg</function> envoie l'image GD (<parameter>im</parameter>) - au format <acronym>JPEG</acronym> sur la sortie standard (typiquement, - le navigateur web), ou si <parameter>filename</parameter> est fourni, - l'envoie dans un fichier. <parameter>im</parameter> a été - créé par <function>imagecreate</function>. - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement à la sortie standard. En envoyant une image de type - <literal>image/jpeg content-type</literal> (grâce à la fonction - <function>header</function>), vous pouvez créer des images - <acronym>JPEG</acronym> avec des scripts PHP. - </para> - <note> - <para> - Le support <acronym>JPEG</acronym> n'est disponible que si PHP est compilé - avec GD-1.8 ou plus récent. - </para> - </note> - <para> - <parameter>quality</parameter> est optionnel, et prend des valeurs - entières de 0 (pire qualité, petit fichier) et 100 (meilleure qualité, - gros fichier). Par défaut, la valeur est à 100. - </para> - <para> - Voir aussi - <function>imagepng</function>, - <function>imagewbmp</function>, - <function>imagegif</function> et - <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagewbmp"> - <refnamediv> - <refname>ImageWBMP</refname> - <refpurpose>Affiche une image WBMP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagewbmp</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string - <parameter><optional>filename</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagewbmp</function> crée l'image <acronym>WBMP</acronym> - dans le fichier <parameter>filename</parameter>, à partir de l'image - <parameter>im</parameter>. Le paramètre <parameter>im</parameter> - a été créé avec la fonction <function>imagecreate</function>. - </para> - <para> - <parameter>filename</parameter> est optionnel, et s'il est omis, - l'image sera envoyée directement au client. En plaçant l'en-tête - <acronym>image/vnd.wap.wbmp</acronym>, dans le champs "content-type", - vous pourrez afficher une image <acronym>WBMP</acronym>. - <note> - <para> - Le support WBMP n'est disponible que si PHP a été compilé - avec GD-1.8 ou plus récent. - </para> - </note> - </para> - <para> - Voir aussi - <function>imagepng</function>, - <function>imagegif</function>, - <function>imagejpeg</function> et - <function>imagetypes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imageinterlace"> - <refnamediv> - <refname>ImageInterlace</refname> - <refpurpose>Active ou désactive l'entrelacement.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imageinterlace</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter><optional>interlace</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageinterlace</function> active ou désactive le bit d'entrelacement. - Si l'entrelacement est à 1, l'image <parameter>im</parameter> sera - interlacée, et sinon, elle ne le sera pas. - </para> - <para> - <function>imageinterlace</function> retourne l'état courant - d'entrelacement de l'image. - </para> - </refsect1> - </refentry> - <refentry id="function.imageline"> - <refnamediv> - <refname>ImageLine</refname> - <refpurpose>Dessine une ligne.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imageline</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageline</function> dessine une ligne depuis le point - (<parameter>x1</parameter>,<parameter>y1</parameter>) jusqu'au point - (<parameter>x2</parameter>,<parameter>y2</parameter>) - (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter> - et avec la couleur <parameter>col</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imageloadfont"> - <refnamediv> - <refname>ImageLoadFont</refname> - <refpurpose>Charge une nouvelle police.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imageloadfont</function></funcdef> - <paramdef>string <parameter>file</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imageloadfont</function> charge une nouvelle police utilisateur et - retourne un identifiant sur cette police. Cet identifiant sera - toujours supérieur à 5, pour éviter les - conflits avec les polices standard PHP. - </para> - <para> - Le format des polices dépend actuellement du système - d'exploitation. Ce qui signifie qu'il vous faut générer - des fichiers de polices pour la machine qui fait tourner PHP. - </para> - <para> - <table> - <title>Format de fichier de police.</title> - <tgroup cols="3"> - <thead> - <row> - <entry>Position</entry> - <entry>Type de données C</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Octets 0-3</entry> - <entry>int</entry> - <entry>Nombre de caractères de la police</entry> - </row> - <row> - <entry>Octets 4-7</entry> - <entry>int</entry> - <entry> - Valeur du premier caractère de la police (souvent 32 pour espace) - </entry> - </row> - <row> - <entry>Octets 8-11</entry> - <entry>int</entry> - <entry>Largeur en pixels des caractères</entry> - </row> - <row> - <entry>Octets 12-15</entry> - <entry>int</entry> - <entry>Hauteur en pixels des caractères</entry> - </row> - <row> - <entry>Octets 16-</entry> - <entry>char</entry> - <entry> - Tableau avec les données des caractères, un octet par pixel pour chaque - caractère, avec un total de (nombre_caractères*largeur*hauteur) octets. - </entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - Voir aussi - <function>imagefontwidth</function> et - <function>imagefontheight</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepolygon"> - <refnamediv> - <refname>ImagePolygon</refname> - <refpurpose>Dessine un polygone.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepolygon</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>array <parameter>points</parameter></paramdef> - <paramdef>int <parameter>num_points</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepolygon</function> dessine un polygone dans l'image - <parameter>im</parameter>. <parameter>points</parameter> est un tableau - PHP qui contient les sommets du polygone sous la forme : points[0] = x0, - points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points est le - nombre de sommets. - </para> - <para> - Voir aussi <function>imagecreate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsbbox"> - <refnamediv> - <refname>ImagePSBBox</refname> - <refpurpose> - Retourne le rectangle entourant un texte et dessiné avec une - police PostScript Type1. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagepsbbox</function></funcdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>space</parameter></paramdef> - <paramdef>int <parameter>width</parameter></paramdef> - <paramdef>float <parameter>angle</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>size</parameter> est exprimé en pixels. - </para> - <para> - <parameter>space</parameter> permet de changer la valeur par - défaut du charactère espace. Cette valeur est ajoutée - lors des dessins, et donc, peut être négative. - </para> - <para> - <parameter>tightness</parameter> permet de contrôler la - quantité d'espace entre les caractères. Cette quantité - est ajoutée lors des dessins, et peut donc être négative. - </para> - <para> - <parameter>angle</parameter> est en degrés. - </para> - <para> - Les paramètres <parameter>space</parameter> et - <parameter>tightness</parameter> sont exprimés en unité - d'espacement de caractères, avec 1 unité vaut 1/1000 d'un - em carré (NDT : kesako?). - </para> - <para> - Les paramètres <parameter>space</parameter>, - <parameter>tightness</parameter> et <parameter>angle</parameter> sont optionnels. - </para> - <para> - Le rectangle entourant est calculé en utilisant les informations - disponibles sur les tailles de caractères, et, malheureusement, - il a tendance à être légèrement différent - du résultat réel final. Si l'angle est de 0 degré, - vous pouvez-vous attendre à avoir besoin d'un rectangle d'au moins - un pixel plus grand dans toutes les directions. - </para> - <para> - <function>imagepsbbox</function> retourne un tableau contenant les - éléments suivants : - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Abscisse inférieure gauche</entry> - </row> - <row> - <entry>1</entry> - <entry>Ordonnée inférieure gauche</entry> - </row> - <row> - <entry>2</entry> - <entry>Abscisse supérieure droite</entry> - </row> - <row> - <entry>3</entry> - <entry>Ordonnée supérieure droite</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - <para> - Voir aussi <function>imagepstext</function>. - </para> - </refsect1> - </refentry> - <!-- The function in t1lib which this function uses seems to be buggy... - Currently, just comment out everywhere in the docs and source until time - permits to find a solution. - <refentry id="function.imagepscopyfont"> - <refnamediv> - <refname>imagepscopyfont</refname> - <refpurpose> - Fait une copie d'une police chargée pour modification ultérieure. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepscopyfont</function></funcdef> - <paramdef>int <parameter>fontindex</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Utilisez cette fonction si vous devez faire des modifications dans une polie, comme - par exemple l'extension ou la condensation, ou encore, modifier son vecteur - d'encodage, tout en conservant l'original. Notez que la police que vous copiez - doit être obtenue par <function>imagepsloadfont</function>, et non pas une police - qui a elle-même été copiée. Vous pouvez aussi faire des modifications avant de - la copier. - </para> - <para> - Si vous utilisez cette fonction, vous <emphasis>DEVEZ</emphasis> libérer les polices - obtenues vous même, et dans l'ordre inverse. Sinon, votre script sera - <emphasis>suspendu</emphasis>. - </para> - <para> - Si tout a bien été fait, un index valide de police sera retourné, et pourra être - utilisé ultérieurement. Sinon, la fonction retournera <literal>FALSE</literal>, et affichera un - message décrivant l'erreur. - </para> - <para> - Voir aussi <function>imageploadpsfont</function>. - </para> - </refsect1> - </refentry> - --> - <refentry id="function.imagepsencodefont"> - <refnamediv> - <refname>ImagePSEncodeFont</refname> - <refpurpose> - Change le codage vectoriel d'un caractère dans une police. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagepsencodefont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>string <parameter>encodingfile</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepsencodefont</function> charge le codage vectoriel d'un - caractère depuis un fichier et change le codage vectoriel de la - police correspondante. Etant donné que les polices PostScript ne - disposent pas des caractères au-delà de 127, vous aurez - sûrement besoin de les changer si vous utilisez une autre langue que - l'anglais. Le format exact est décrit dans la documentation T1libs. - T1lib est disponible en deux formes : IsoLatin1.enc et IsoLatin2.enc. - </para> - <para> - Si vous commencez à utiliser cette fonction régulièrement, - une meilleure solution est de définir un encodage, et de l'utiliser - avec set ps.default_encoding dans <link linkend="configuration.file">le fichier - de configuration</link> pour utiliser par défaut l'encodage correct. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsfreefont"> - <refnamediv> - <refname>ImagePSFreeFont</refname> - <refpurpose> - Libère la mémoire occupée par une police PostScript Type 1. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>imagepsfreefont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Voir aussi - <function>imagepsloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsloadfont"> - <refnamediv> - <refname>ImagePSLoadFont</refname> - <refpurpose>Charge une police PostScript Type 1 depuis un fichier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>imagepsloadfont</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - Au cas où tout a bien marché, un index de police - va être retourné, et pourra être utilisé - pour des opérations ultérieures. Sinon, la fonction - retourne <literal>FALSE</literal> et affiche un message décrivant - ce qui est erroné. - </para> - <para> - <programlisting role="php"> -<?php - header("Content-type: image/jpeg"); - $im = imagecreate(350, 45); - $noir = imagecolorallocate($im, 0, 0, 0); - $Blanc = imagecolorallocate($im, 255, 255, 255); - $font = imagepsloadfont("bchbi.pfb"); - imagepstext($im, "Test ... Ca marche!", $font, 32, $white, $black, 32, 32); - imagepsfreefont($font); - imagejpeg($im, ""); - imagedestroy ($im); -?< - </programlisting> - </para> - <para> - Voir aussi - <function>imagepsfreefont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsextendfont"> - <refnamediv> - <refname>ImagePsExtendFont</refname> - <refpurpose> - Etend ou condense une police de caractères - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>imagepsextendfont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>double <parameter>extend</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepsextendfont</function> étend ou condense la police - de caractères <parameter>font</parameter>. Si la valeur de - <parameter>extend</parameter> est inférieure à 1, ce sera une - condensation. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsslantfont"> - <refnamediv> - <refname>ImagePsSlantFont</refname> - <refpurpose> - Incline une police de caractères - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>imagepsslantfont</function></funcdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>double <parameter>slant</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagepsslantfont</function> met en italique - la police de caractères <parameter>font</parameter> avec - le coefficient <parameter>slant</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepstext"> - <refnamediv> - <refname>ImagePSText</refname> - <refpurpose>Dessine un texte sur une image avec une police PostScript Type1.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagepstext</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - <paramdef>resource <parameter>font</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>foreground</parameter></paramdef> - <paramdef>int <parameter>background</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter> - <optional>space</optional></parameter></paramdef> - <paramdef>int <parameter> - <optional>tightness</optional></parameter></paramdef> - <paramdef>float <parameter> - <optional>angle</optional></parameter></paramdef> - <paramdef>int <parameter> - <optional>antialias_steps</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <parameter>size</parameter> est exprimé en pixels. - </para> - <para> - <parameter>foreground</parameter> est la couleur dans laquelle le texte va - être dessiné. <parameter>background</parameter> est la couleur d'anti aliasing. - Aucun pixel avec la couleur <parameter>background</parameter> n'est dessiné, ce - qui fait que l'arrière-plan n'a pas besoin d'être dans une couleur fixe. - </para> - <para> - Les coordonnées données (<parameter>x</parameter>, - <parameter>y</parameter>) définissent l'origine du premier - caractère (grossièrement, le coin inférieur - gauche du caractère). Ceci est différent de la fonction - <function>imagestring</function>, où (x, y) définissait le - coin supérieur gauche du premier caractère. Reportez-vous - à la documentation PostScript pour avoir des détails à - propos des polices et de leurs tailles. - </para> - <para> - <parameter>space</parameter> permet de changer la taille par défaut - du caractère d'espacement. Cette valeur peut être négative. - </para> - <para> - <parameter>tightness</parameter> permet de contrôler la quantité - d'espace entre deux caractères. Cette valeur peut être - négative. - </para> - <para> - <parameter>angle</parameter> est en degrés. - </para> - <para> - <parameter>antialias_steps</parameter> permet de contrôler le nombre de couleurs - du texte anti-aliasé. Les valeurs autorisées sont 4 et 16. 16 est recommandé pour - les polices de moins de 20 pixels, car l'effet est alors visible. Avec les - tailles plus grandes, utilisez de préférence 4, qui est moins gourmande en - ressources. - </para> - <para> - Les paramètres <parameter>space</parameter> et <parameter>tightness</parameter> - sont exprimés en unité d'espaces caractère, ce qui vaut 1/1000ème d'un em-carré - ( ? ? ?). - </para> - <para> - Les paramètres <parameter>space</parameter>, <parameter>tightness</parameter>, - <parameter>angle</parameter> et <parameter>antialias</parameter> sont optionnels. - </para> - <para> - <function>imagepstext</function> retourne un tableau contenant les - éléments suivants : - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Abscisse inférieure gauche</entry> - </row> - <row> - <entry>1</entry> - <entry>Ordonnée inférieure gauche</entry> - </row> - <row> - <entry>2</entry> - <entry>Abscisse supérieure droite</entry> - </row> - <row> - <entry>3</entry> - <entry>Ordonnée supérieure droite</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - <para> - Voir aussi <function>imagepsbbox</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagerectangle"> - <refnamediv> - <refname>ImageRectangle</refname> - <refpurpose>Dessine un rectangle.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagerectangle</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x1</parameter></paramdef> - <paramdef>int <parameter>y1</parameter></paramdef> - <paramdef>int <parameter>x2</parameter></paramdef> - <paramdef>int <parameter>y2</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagerectangle</function> dessine un rectangle dans la couleur - <parameter>col</parameter>, dans l'image <parameter>im</parameter>, et en - commençant au point supérieur gauche (<parameter>x1</parameter>, - <parameter>y1</parameter>), et en finissant au point inférieur droit - (<parameter>x2</parameter>,<parameter>y2</parameter>). Le coin supérieur - gauche est l'origine (0,0). - </para> - </refsect1> - </refentry> - <refentry id="function.imagesetpixel"> - <refnamediv> - <refname>ImageSetPixel</refname> - <refpurpose>Dessine un pixel.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesetpixel</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesetpixel</function> dessine un pixel au point - (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter>, - et avec la couleur <parameter>col</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagesetbrush"> - <refnamediv> - <refname>imagesetbrush</refname> - <refpurpose>Modifie la brosse pour le dessin des lignes</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesetbrush</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>brush</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesetbrush</function> remplace la brosse courante - pour le dessin des lignes par <parameter>brush</parameter>. - Cette brosse sera alors utilisée avec les fonctions - <function>imageline</function> et <function>imagepolygon</function>. - </para> - <note> - <para> - Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, - mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser - les options IMG_COLOR_BRUSHED et IMG_COLOR_STYLEDBRUSHED des fonctions - <function>imageline</function> et <function>imagepolygon</function>, - avant d'avoir créé une nouvelle brosse. - </para> - </note> - <note> - <para> - <function>imagesetbrush</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagesettile"> - <refnamediv> - <refname>ImageSetTile</refname> - <refpurpose>Modifie l'image utilisée pour le carrelage</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesettile</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>resource <parameter>tile</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesettile</function> remplace l'image de - carrelage courante par l'image <parameter>tile</parameter>, - à utiliser dans tous les remplissages (comme avec les fonctions - <function>imagefill</function> et <function>imagefilledpolygon</function>) - lors des remplissages avec l'option <literal>IMG_COLOR_TILED</literal>. - </para> - <para> - Une image de carrelage est une image utilisée pour remplir une zone, - de manière répétitive. N'importe quelle image GD peut servir d'image de - remplissage. L'utilisation de la couleur transparente (gérée avec - la fonction <function>imagecolortransparent</function>) permet à certaines - zones d'apparaître à travers le carrelage. - </para> - <note> - <para> - Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, - mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser - l'option <literal>IMG_COLOR_TILED</literal> des fonctions - <function>imagefill</function> et <function>imagefilledpolygon</function>, - avant d'avoir créé une nouvelle brosse. - </para> - </note> - <note> - <para> - <function>imagesettile</function> a été ajoutée en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagesetthickness"> - <refnamediv> - <refname>ImageSetThickness</refname> - <refpurpose>Modifie l'épaisseur d'un trait</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>imagesetthickness</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>thickness</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesetthickness</function> modifie l'épaisseur - du trait des lignes de l'image <parameter>im</parameter>. Cette - épaisseur intervient dans les dessins de polygones, ellipses, - cercles, rectangles, etc... <parameter>thickness</parameter> - est en pixels. - </para> - <note> - <para> - <function>imagesetthickness</function> a été ajoutée en PHP 4.0.6 - et nécessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagestring"> - <refnamediv> - <refname>ImageString</refname> - <refpurpose>Dessine une chaîne horizontale.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagestring</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>s</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagestring</function> dessine une la chaîne sur une ligne - horizontale, dans l'image <parameter>im</parameter>, aux coordonnées - (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur - gauche est l'origine (0,0)) dans la couleur <parameter>col</parameter>. - Si l'argument de police vaut 1, 2, 3, 4 ou 5, une des polices par défaut sera - utilisée). - </para> - <para> - Voir aussi <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagestringup"> - <refnamediv> - <refname>ImageStringUp</refname> - <refpurpose>Dessine une chaîne verticale.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagestringup</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>font</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>string <parameter>s</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagestringup</function> dessine une chaîne sur une ligne - verticale dans l'image <parameter>im</parameter> aux coordonnées - (<parameter>x</parameter>, <parameter>y</parameter>) (l'origine est le coin - supérieur gauche (0,0)) dans la couleur <parameter>col</parameter>. - Si la police utilisée est 1, 2, 3, 4 ou 5, une police par défaut - sera utilisée. - </para> - <para> - Voir aussi <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagesx"> - <refnamediv> - <refname>ImageSX</refname> - <refpurpose>Retourne la largeur d'une image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesx</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesx</function> retourne la largeur de l'image référencée par - <parameter>im</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagesy</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagesy"> - <refnamediv> - <refname>ImageSY</refname> - <refpurpose>Retourne la hauteur de l'image.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagesy</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagesy</function> retourne la hauteur de l'image référencée par - <parameter>im</parameter>. - </para> - <para> - Voir aussi <function>imagecreate</function> et <function>imagesx</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagettfbbox"> - <refnamediv> - <refname>ImageTTFBBox</refname> - <refpurpose>Retourne le rectangle entourant un texte et dessiné avec une police TrueType.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagettfbbox</function></funcdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>angle</parameter></paramdef> - <paramdef>string <parameter>fontfile</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagettfbbox</function> calcule et retourne le rectangle entourant - le texte <parameter>text</parameter>, écrit avec une police truetype. - <variablelist> - <varlistentry> - <term> - <parameter>text</parameter> - </term> - <listitem> - <simpara> - La chaîne à mesurer. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>size</parameter> - </term> - <listitem> - <simpara> - La taille de la police en pixel. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>fontfile</parameter> - </term> - <listitem> - <simpara> - Le nom de la police TrueType (peut aussi être une URL.) - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>angle</parameter> - </term> - <listitem> - <simpara>Angle en degré dans lequel le texte <parameter>text</parameter> - va être mesuré. - </simpara> - </listitem> - </varlistentry> - </variablelist> - <function>imagettfbbox</function> retourne une tableau avec 8 - éléments, représentant les 4 sommets du rectangle - ainsi défini. - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Coin inférieur gauche, abscisse</entry> - </row> - <row> - <entry>1</entry> - <entry>Coin inférieur gauche, ordonnée</entry> - </row> - <row> - <entry>2</entry> - <entry>Coin inférieur droit, abscisse</entry> - </row> - <row> - <entry>3</entry> - <entry>Coin inférieur droit, ordonnée</entry> - </row> - <row> - <entry>4</entry> - <entry>Coin supérieur droit, abscisse</entry> - </row> - <row> - <entry>5</entry> - <entry>Coin supérieur droit, ordonnée</entry> - </row> - <row> - <entry>6</entry> - <entry>Coin supérieur gauche, abscisse</entry> - </row> - <row> - <entry>7</entry> - <entry>Coin supérieur gauche, ordonnée</entry> - </row> - </tbody> - </tgroup> - </informaltable> - Les positions des points sont relatives au texte <emphasis>text</emphasis>, - indépendamment de l'angle : coin supérieur gauche faire - référence au coin supérieur gauche du texte écrit - horizontalement. - </para> - <para> - <function>imagettfbbox</function> requiert les bibliothèques - GD et Freetype. - </para> - <para> - Voir aussi - <function>imagettftext</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagettftext"> - <refnamediv> - <refname>ImageTTFText</refname> - <refpurpose>Dessine un texte avec une police TrueType.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>imagettftext</function></funcdef> - <paramdef>resource <parameter>im</parameter></paramdef> - <paramdef>int <parameter>size</parameter></paramdef> - <paramdef>int <parameter>angle</parameter></paramdef> - <paramdef>int <parameter>x</parameter></paramdef> - <paramdef>int <parameter>y</parameter></paramdef> - <paramdef>int <parameter>col</parameter></paramdef> - <paramdef>string <parameter>fontfile</parameter></paramdef> - <paramdef>string <parameter>text</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagettftext</function> dessine la chaîne <parameter>text</parameter> - dans l'image <parameter>im</parameter>, en commençant aux coordonnées - (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est - l'origine (0,0)), avec un angle de <parameter>angle</parameter>, et dans la - couleur <parameter>col</parameter>, en utilisant la police TrueType identifiée par - <parameter>fontfile</parameter>. - </para> - <para> - Les coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) serviront - de référence pour le premier caractère (en gros, le coin - inférieur gauche du caractère). C'est différent de - <function>imagestring</function>, qui utilise le coin supérieur droit. - </para> - <para> - <parameter>angle</parameter> est donné en degrés, avec degré - 0 pour un texte horizontal, et en comptant les angles dans le sens inverse des - aiguilles d'une montre (sens direct). - </para> - <para> - <parameter>fontfile</parameter> est le chemin jusqu'à la police - TrueType à utiliser. - </para> - <para> - <parameter>text</parameter> est le texte à dessiner, incluant - aussi des séquences de caractères UTF-8 (de la forme: &#123; ) - pour générer des caractères au-delà de 255. - </para> - <para> - <parameter>col</parameter> est l'index de la couleur dans la palette. Utiliser - des index négatifs, revient à supprimer l'anti-aliasing. - </para> - <para> - <function>imagettftext</function> retourne un tableau de 8 éléments - représentant les 4 points marquants les limites du texte. L'ordre - des points est :supérieur gauche, supérieur droit, - inférieur droit, inférieur gauche. Les points sont nommés - relativement au texte à l'horizontale<function>imagecolorexact</function>. - </para> - <para> - Cet exemple va générer une image <acronym>GIF</acronym> noire - de 400x30 pixels, avec les mots "Test en cours...Oméga: &#937;" - en police blanche, type Arial. - <example> - <title>Exemple avec <function>imagettftext</function></title> - <programlisting role="php"> -<?php - header("Content-type: image/gif"); - $im = imagecreate(400,30); - $black = imagecolorallocate($im, 0,0,0); - $white = imagecolorallocate($im, 255,255,255); - imagettftext($im, 20, 0, 10, 20, $white, "/path/arial.ttf", - "Test en cours... Oméga: &#937;"); - imagegif($im); - imagedestroy($im); -?> - </programlisting> - </example> - </para> - <para> - <function>imagettftext</function> requiert les bibliothèques GD - ainsi que <ulink url="&url.freetype;">FreeType</ulink>. - </para> - <para> - Voir aussi - <function>imagettfbbox</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagetypes"> - <refnamediv> - <refname>ImageTypes</refname> - <refpurpose> - Retourne les types d'images supportés par la version - courante de PHP - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>imagetypes</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>imagetypes</function> retourne un champs de bits correspondant aux - formats d'images supportés par la version de GD - utilisée. Les valeurs suivantes sont valables : <literal>IMG_GIF</literal> | - <literal>IMG_JPG</literal> | <literal>IMG_PNG</literal> | <literal>IMG_WBMP</literal>. Pour vous assurer du support <acronym>PNG</acronym>, - faites ceci : - <example> - <title>Exemple avec ImageTypes</title> - <programlisting role="php"> -<?php - if (imagetypes() & IMG_PNG) { - echo "Le type PNG est supporté"; - } -?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.read-exif-data"> - <refnamediv> - <refname>read_exif_data</refname> - <refpurpose>Lit les en-têtes EXIF d'une image JPEG</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>read_exif_data</function></funcdef> - <paramdef>string <parameter>filename</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>read_exif_data</function> lit les en-têtes EXIF de - l'image <acronym>JPEG</acronym> nommée <parameter>filename</parameter>. - Elle retourne un tableau associatif où les index sont les noms - d'en-têtes EXIF, et les valeurs sont leur valeur - associée. Les en-têtes EXIF sont souvent disponibles - dans les images générées par les appareils - photos numériques, mais chaque constructeur marque ses images d'une - manière qui lui est propre : il est impossible de savoir - quelles en-têtes seront présents. - <example> - <title>Exemple avec <function>read_exif_data</function></title> - <programlisting role="php"> -<?php - $exif = read_exif_data('p0001807.jpg'); - while(list($k,$v)=each($exif)) { - echo "$k: $v<br>\n"; - } -?> - </programlisting> - <simpara> - Cet exemple va afficher : - </simpara> - <literallayout> - <computeroutput> -FileName: p0001807.jpg -FileDateTime: 929353056 -FileSize: 378599 -CameraMake: Eastman Kodak Company -CameraModel: KODAK DC265 ZOOM DIGITAL CAMERA (V01.00) -DateTime: 1999:06:14 01:37:36 -Height: 1024 -Width: 1536 -IsColor: 1 -FlashUsed: 0 -FocalLength: 8.0mm -RawFocalLength: 8 -ExposureTime: 0.004 s (1/250) -RawExposureTime: 0.0040000001899898 -ApertureFNumber: f/ 9.5 -RawApertureFNumber: 9.5100002288818 -FocusDistance: 16.66m -RawFocusDistance: 16.659999847412 -Orientation: 1 -ExifVersion: 0200 - </computeroutput> - </literallayout> - </example> - </para> - <para> - <note> - <simpara> - <function>read_exif_data</function> n'est disponible que sous PHP 4 , - compilé avec - <link linkend="install.configure.enable-exif">--enable-exif</link>. - </simpara> - <simpara> - <function>read_exif_data</function> ne requiert pas la librairie GD. - </simpara> - </note> - </para> - </refsect1> - </refentry> -</reference> -<!-- 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 -sgml-parent-document:nil -sgml-default-dtd-file:"../../manual.ced" -sgml-exposed-tags:nil -sgml-local-catalogs:nil -sgml-local-ecat-files:nil -End: ---> +<?xml version="1.0" encoding="iso-8859-1"?><!-- $Revision: 1.23 $ --><reference id="ref.image"> <title>Images</title> <titleabbrev>Graphisme</titleabbrev> <partintro> <simpara> Vous pouvez utiliser les fonctions PHP pour obtenir les tailles des images aux formats <acronym>JPEG</acronym>, <acronym>GIF</acronym>, <acronym>PNG</acronym> et <acronym>SWF</acronym>, et si vous avez la librairie GD (disponible à <ulink url="&url.gd;">&url.gd;</ulink>) vous pourrez aussi créer et manipuler ces images. </simpara> <simpara> Les formats des images que vous pourrez manipuler dépendent de la version de GD que vous installerez, et de toute autre librairie dont GD a besoin pour traiter à ces images. Les versions antérieures à la version 1.6 supportent le <acronym>GIF</acronym>, mais pas le <acronym>PNG</acronym>. Pour les versions plus récentes, c'est le contraire. </simpara> <simpara> Pour accéder aux images en <acronym>JPEG</acronym>, vous devez installer la librairie jpeg-6b (disponible à <ulink url="&url.jpeg;">&url.jpeg;</ulink>), puis, recompiler GD pour qu'elle utilise jpeg-6b. Vous devrez aussi compiler PHP avec <link linkend="install.configure.with-jpeg-dir"><option role="configure">--with-jpeg-dir=/path/to/jpeg-6b</option></link>. </simpara> <simpara> Pour ajouter le support des polices Type 1, vous devez installer t1lib (disponible à <ulink url="&url.t1lib;">&url.t1lib;</ulink>), puis ajouter l'option <link linkend="install.configure.enable-t1lib"><option role="configure">--with-t1lib[=dir]</option></link>. </simpara> </partintro> <refentry id="function.getimagesize"> <refnamediv> <refname>getimagesize</refname> <refpurpose>Retourne la taille d'une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>getimagesize</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> <paramdef>array <parameter><optional>imageinfo</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>getimagesize</function> va déterminer la taille des images de type <acronym>GIF</acronym>, <acronym>JPG</acronym>, <acronym>PNG</acronym>, <acronym>SWF</acronym>, <acronym>PSD</acronym> ou <acronym>BMP</acronym> et en retourner les dimensions, le type d'image, et une chaîne type "height/width", à placer dans une balise <acronym>HTML</acronym> ou <sgmltag>IMG</sgmltag> normale. </para> <para> <function>getimagesize</function> retourne un tableau de 4 éléments. L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 contient le type de l'image : 1 = <acronym>GIF</acronym>, 2 = <acronym>JPG</acronym>, 3 = <acronym>PNG</acronym>, 5 = <acronym>PSD</acronym>, 6 = <acronym>BMP</acronym>. L'index 3 contient la chaîne à placer dans les balises <acronym>HTML</acronym> : <literal>"height=xxx width=xxx"</literal>. <example> <title>Exemple avec <function>getimagesize</function></title> <programlisting role="php"><?php $size = getimagesize("img/flag.jpg");?><IMG SRC="img/flag.jpg"<?php echo $size[3];?>> </programlisting> </example> </para> <para> <example> <title><function>getimagesize</function> avec une URL</title> <programlisting role="php"><?php $size = getimagesize("http://www.php.net/gifs/logo.gif");?> </programlisting> </example> </para> <para> Avec les images <acronym>JPEG</acronym>, deux en-têtes supplémentaires sont retournés : <literal>channel</literal> et <literal>bits</literal>. <literal>channel</literal> vaudra 3 avec les images RGB, et 4 avec les images CMYK. <literal>bits</literal> est le nombre de bits de chaque couleur. </para> <para> Si l'accès à <parameter>filename</parameter> est impossible, ou si ce n'est pas une image valide, <function>getimagesize</function> retournera <literal>NULL</literal> et générera une alerte. </para> <para> Le paramètre optionnel <parameter>imageinfo</parameter> permet d'extraire des informations supplémentaires du fichier image. Actuellement, cette option va retourner différents marqueurs <acronym>JPG</acronym> APP dans un tableau associatif. Certains programmes utilisent ces marqueur APP pour préciser les informations dans les balises HTML. Un marqueur commun est le marqueur APP13, décrit à <ulink url="&url.iptc;">&url.iptc;</ulink>. Vous pouvez utiliser la fonction <function>iptcparse</function> pour analyser ce marqueur, et obtenir des informations intelligibles. <example> <title><function>getimagesize</function> qui retourne IPTC</title> <programlisting role="php"><?php $size = getimagesize("testimg.jpg",&$info); if (isset($info["APP13"])) { $iptc = iptcparse($info["APP13"]); var_dump($iptc); }?> </programlisting> </example> <note> <simpara> <function>getimagesize</function> ne requiert pas la bibliothèque GD. </simpara> </note> <note> <simpara> Le support URL a été ajouté en PHP 4.0.5. </simpara> </note> </para> </refsect1> </refentry> <refentry id="function.image2wbmp"> <refnamediv> <refname>image2wbmp</refname> <refpurpose>Crée une image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>image2wbmp</function></funcdef> <paramdef>int <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter> </paramdef> <paramdef>int <parameter><optional>threshold</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>image2wbmp</function> crée une image <acronym>WBMP</acronym> à partir de l'image <parameter>im</parameter>. Si le paramètre <parameter>filename</parameter> est fourni, l'image sera créée dans ce fichier, et sinon, elle sera envoyée au navigateur. <parameter>im</parameter> est une image valide, créée avec la fonction <function>imagecreate</function>. </para> <para> Le nom de fichier <parameter>filename</parameter> est optionnel, et si il est omis, l'image sera renvoyée directement au navigateur. En retournant un entête HTTP Content-Type : <acronym>image/vnd.wap.wbmp</acronym> avec la fonction <function>header</function>, vous pouvez creer des images WBMP avec vos scripts PHP. </para> <note> <para> Le support WBMP n'est disponible qu'avec GD-1.8 ou plus récent. </para> </note> <para> Voir aussi <function>imagewbmp</function>. </para> </refsect1> </refentry> <refentry id="function.imagealphablending"> <refnamediv> <refname>ImageAlphaBlending</refname> <refpurpose>Modifie le mode de blending d'une image</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagealphablending</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>boolean <parameter>blendmode</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagealphablending</function> fournit deux modes de dessins des images en vraies couleurs (truecolors). En mode "blending", le canal alpha de chaque couleur est fournie à chaque fonction de dessin, tel que <function>imagesetpixel</function> peut déterminer sa transparence. GD va alors automatiquement mixer la couleur à ce point, et stocker le résultat dans l'image. Le pixel résultant est alors opaque. En mode non-mixant, la couleur est copiée littéralement avec ses informations de canal alpha, et remplace le pixel de destination. Le mixage n'est pas disponible avec les images à palette. Si <parameter>blendmode</parameter> vaut <literal>TRUE</literal>, alors le mode de mixage sera activé, sinon il sera désactivé. </para> <note> <para> <function>imagealphablending</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagearc"> <refnamediv> <refname>ImageArc</refname> <refpurpose>Dessine une ellipse partielle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagearc</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>s</parameter></paramdef> <paramdef>int <parameter>e</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagearc</function> dessine une ellipse partielle, centrée sur <parameter>cx</parameter>, <parameter>cy</parameter> (le coin en haut à gauche est l'origine (0,0)) dans l'image référencée par <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient la largeur et la hauteur de l'ellipse, tandis que le début et la fin de l'arc sont donnés en degrés, par les arguments <parameter>s</parameter> et <parameter>e</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagefilledarc"> <refnamediv> <refname>imagefilledarc</refname> <refpurpose>Dessine une ellipse partielle et la remplit</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledarc</function></funcdef> <paramdef>int <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>s</parameter></paramdef> <paramdef>int <parameter>e</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> <paramdef>int <parameter>style</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledarc</function> dessine une ellipse partielle, centrée sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin supérieur gauche est (0, 0), dans l'image <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient respectivement la largeur et la hauteur de l'ellipse, tandis que les points de début et de fin sont représentés par <parameter>s</parameter> et <parameter>e</parameter>, en degrés. L'argument <parameter>style</parameter> est un champ de bits, combiné avec l'opérateur OR : <orderedlist> <listitem><simpara><literal>IMG_ARC_PIE</literal></simpara></listitem> <listitem><simpara><literal>IMG_ARC_CHORD</literal></simpara></listitem> <listitem><simpara><literal>IMG_ARC_NOFILL</literal></simpara></listitem> <listitem><simpara><literal>IMG_ARC_EDGED</literal></simpara></listitem> </orderedlist> <literal>IMG_ARC_PIE</literal> et <literal>IMG_ARC_CHORD</literal> sont mutellemement exclusives; <literal>IMG_ARC_CHORD</literal> ne fait que connecter les angles de début et de fin avec une ligne droite, tandis que <literal>IMG_ARC_PIE</literal> produit une ligne courbe. <literal>IMG_ARC_NOFILL</literal> indique que l'arc (ou corde) doit être dessiné mais pas rempli. <literal>IMG_ARC_EDGED</literal>, utilisé conjointement avec <literal>IMG_ARC_NOFILL</literal>, indique que les angles de début et de fin doivent être connectés au centre. Cette fonction est recommandée pour faire les graphiques de type camenbert. </para> <note> <para> <function>imagefilledarc</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imageellipse"> <refnamediv> <refname>ImageEllipse</refname> <refpurpose>Dessine une ellipse</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imageellipse</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageellipse</function> dessine une ellipse centrée sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin supérieur gauche est aux coordonnées (0,0). L'image de dessin est <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient respectivement la largeur et la hauteur de l'ellipse. La couleur de dessin de l'ellipse est <parameter>color</parameter>. </para> <note> <para> <function>imageellipse</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagefilledellipse"> <refnamediv> <refname>ImageFilledEllipse</refname> <refpurpose>Dessine une ellipse pleine</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledellipse</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>cx</parameter></paramdef> <paramdef>int <parameter>cy</parameter></paramdef> <paramdef>int <parameter>w</parameter></paramdef> <paramdef>int <parameter>h</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledellipse</function> dessine une ellipse centrée sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin supérieur gauche est aux coordonnées (0,0). L'image de dessin est <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> spécifient respectivement la largeur et la hauteur de l'ellipse. La couleur de remplissage de l'ellipse est <parameter>color</parameter>. </para> <note> <para> <function>imagefilledellipse</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagechar"> <refnamediv> <refname>ImageChar</refname> <refpurpose>Dessine un caractère horizontalement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagechar</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>c</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagechar</function> dessine le premier caractère de la chaîne <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin supérieur gauche placé à la position <parameter>x</parameter>,<parameter>y</parameter> (le coin en haut à gauche est l'origine (0,0)) avec la couleur <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police intégrée sera utilisée (plus le chiffre est grand, plus grande est la police). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagecharup"> <refnamediv> <refname>ImageCharUp</refname> <refpurpose>Dessine un caractère verticalement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecharup</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>c</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecharup</function> dessine le premier caractère de la chaîne <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin supérieur gauche placé à la position (<parameter>x</parameter>,<parameter>y</parameter>) (le coin en haut à gauche est l'origine (0,0)), avec la couleur <parameter>col</parameter>. Si la police est 1, 2, 3, 4 ou 5, une police intégrée sera utilisée (plus le chiffre est grand, plus grande est la police). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorallocate"> <refnamediv> <refname>ImageColorAllocate</refname> <refpurpose>Alloue une couleur pour une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorallocate</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorallocate</function> retourne un identifiant de couleur, représentant la couleur composée avec les couleurs RGB (<parameter>red</parameter>, <parameter>green</parameter>, <parameter>blue</parameter>). L'argument <parameter>im</parameter> est le résultat de la fonction <function>imagecreate</function>. <function>imagecolorallocate</function> doit être appelée pour créer chaque couleur qui sera représentée par <parameter>im</parameter>. <informalexample> <programlisting role="php"><?php $white = imagecolorallocate($im, 255,255,255); $black = imagecolorallocate($im, 0,0,0);?> </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.imagecolordeallocate"> <refnamediv> <refname>ImageColorDeAllocate</refname> <refpurpose> Désalloue une couleur pour une image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolordeallocate</function> </funcdef> <paramdef>resource <parameter>im</parameter> </paramdef> <paramdef>int <parameter>index</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolordeallocate</function> désalloue une couleur précédemment allouée avec la fonction <function>imagecolorallocate</function>. <informalexample> <programlisting role="php"><?php $white = imagecolorallocate($im, 255, 255, 255); imagecolordeallocate($im, $white);?> </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.imagecolorat"> <refnamediv> <refname>ImageColorAt</refname> <refpurpose>Retourne l'index de la couleur d'un pixel donné.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorat</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorat</function> retourne l'index de la couleur du pixel situé aux coordonnées (<parameter>x</parameter>, <parameter>y</parameter>), dans l'image <parameter>im</parameter>. </para> <para> Voir aussi <function>imagecolorset</function> et <function>imagecolorsforindex</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorclosestalpha"> <refnamediv> <refname>ImageColorClosestAlpha</refname> <refpurpose> Retourne la couleur la plus proche, en tenant compte du canal alpha </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorclosestalpha</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> <paramdef>int <parameter>alpha</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorclosestalpha</function> retourne l'index de la couleur, dans la palette de l'image <parameter>im</parameter>, la plus proche de la couleur spécifiée par les autres paramètres, au format <acronym>RGB</acronym> et de canal alpha <parameter>alpha</parameter>. </para> <para> Voir aussi <function>imagecolorexactalpha</function>. </para> <note> <para> <function>imagecolorclosestalpha</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecolorclosest"> <refnamediv> <refname>ImageColorClosest</refname> <refpurpose> Retourne l'index de la couleur la plus proche d'une couleur donnée. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorclosest</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorclosest</function> retourne l'index de la couleur de la palette qui est la plus proche de la valeur RGB passée. </para> <para> La "distance" entre la couleur souhaitée et les couleurs de la palette est calculée en considérant l'espace RGB comme un espace à 3 dimensions. </para> <para> Voir aussi <function>imagecolorexact</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorexact"> <refnamediv> <refname>ImageColorExact</refname> <refpurpose>Retourne l'index de la couleur donnée.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorexact</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorexact</function> retourne l'index de la couleur spécifiée dans la palette de l'image <parameter>im</parameter>. </para> <para> Si la couleur n'existe pas dans cette palette, <function>imagecolorexact</function> retourne -1. </para> <para> Voir aussi <function>imagecolorclosest</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorexactalpha"> <refnamediv> <refname>ImageColorExactAlpha</refname> <refpurpose>Retourne l'index d'une couleur avec son canal alpha</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorexactalpha</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> <paramdef>int <parameter>alpha</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorexactalpha</function> retourne l'index de la couleur fournie au format <acronym>RGB</acronym> et son canal alpha <parameter>alpha</parameter>, dans l'image <parameter>im</parameter>. </para> <para> Si la couleur n'existe pas dans la palette de l'image, <function>imagecolorexactalpha</function> retourne -1. </para> <para> Voir aussi <function>imagecolorclosestalpha</function>. </para> <note> <para> <function>imagecolorexactalpha</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecolorresolve"> <refnamediv> <refname>ImageColorResolve</refname> <refpurpose> Retourne l'index de la couleur donnée, ou la plus proche possible. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorresolve</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorresolve</function> retourne un index de couleur à tous les coups. Soit il arrive à trouver la couleur demandée dans la palette, soit il recherche la couleur la plus proche. </para> <para> Voir aussi <function>imagecolorclosest</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorresolvealpha"> <refnamediv> <refname>ImageColorResolveAlpha</refname> <refpurpose> Retourne un index de couleur ou son alternative la plus proche, y compris le canal alpha </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorresolvealpha</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> <paramdef>int <parameter>alpha</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorresolvealpha</function> retourne toujours un index de couleur, disponible dans la palette de l'image <parameter>im</parameter> : soit c'est la couleur exacte, soit c'est la meilleure approximation. </para> <para> Voir aussi <function>imagecolorclosestalpha</function>. </para> <note> <para> <function>imagecolorresolvealpha</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagegammacorrect"> <refnamediv> <refname>ImageGammaCorrect</refname> <refpurpose> Applique une correction gamma à l'image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagegammacorrect</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>float <parameter>inputgamma</parameter> </paramdef> <paramdef>float <parameter>outputgamma</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagegammacorrect</function> applique une correction gamma à l'image GD <parameter>im</parameter>. Le facteur d'entrée est <parameter>inputgamma</parameter>, et le facteur de sortie est <parameter>outputgamma</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecolorset"> <refnamediv> <refname>ImageColorSet</refname> <refpurpose> Change la couleur dans une palette à l'index donné. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>imagecolorset</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> <paramdef>int <parameter>red</parameter></paramdef> <paramdef>int <parameter>green</parameter></paramdef> <paramdef>int <parameter>blue</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorset</function> permet d'attribuer à un index d'une palette une couleur spécifique. C'est une fonction très pratique pour effectuer du remplissage de couleur sans le faire réellement. </para> <para> Voir aussi <function>imagecolorat</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorsforindex"> <refnamediv> <refname>ImageColorsForIndex</refname> <refpurpose>Retourne la couleur associée à un index.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagecolorsforindex</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorsforindex</function> retourne un tableau associatif avec les couleurs rouge (red) , vert (green), bleu (blue) qui contiennent les valeurs de la couleur correspondante. </para> <para> Voir aussi <function>imagecolorat</function> et <function>imagecolorexact</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorstotal"> <refnamediv> <refname>ImageColorsTotal</refname> <refpurpose>Calcule le nombre de couleurs d'une palette.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolorstotal</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolorstotal</function> retourne le nombre de couleurs de la palette. </para> <para> Voir aussi <function>imagecolorat</function> et <function>imagecolorsforindex</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolortransparent"> <refnamediv> <refname>ImageColorTransparent</refname> <refpurpose>Définit la couleur transparente.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecolortransparent</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter><optional>col</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecolortransparent</function> permet de choisir la couleur transparente d'une image, et de lui donner la valeur de col. <parameter>im</parameter> est un identifiant d'image, retourné par <function>imagecreate</function> et <parameter>col</parameter> est un identifiant de couleur retourné par <function>imagecolorallocate</function>. </para> <para> L'identifiant de la nouvelle (ou courante) couleur transparente est retourné. </para> </refsect1> </refentry> <refentry id="function.imagecopy"> <refnamediv> <refname>ImageCopy</refname> <refpurpose> Copie une partie d'une image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopy</function> </funcdef> <paramdef>resource <parameter>dst_im</parameter> </paramdef> <paramdef>resource <parameter>src_im</parameter> </paramdef> <paramdef>int <parameter>dst_x</parameter> </paramdef> <paramdef>int <parameter>dst_y</parameter> </paramdef> <paramdef>int <parameter>src_x</parameter> </paramdef> <paramdef>int <parameter>src_y</parameter> </paramdef> <paramdef>int <parameter>src_w</parameter> </paramdef> <paramdef>int <parameter>src_h</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Copie une partie de l'image <parameter>src_im</parameter> sur l'image de destination <parameter>dst_im</parameter>, en commençant aux coordonnées <parameter>src_x</parameter>, <parameter>src_y</parameter> et sur la largeur de <parameter>src_w</parameter> et la hauteur de <parameter>src_h</parameter>. La portion ainsi définie sera copiée et placée aux coordonnées <parameter>dst_x</parameter> et <parameter>dst_y</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecopymerge"> <refnamediv> <refname>ImageCopyMerge</refname> <refpurpose> Copie et fusionne une partie d'une image </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopymerge</function></funcdef> <paramdef>resource <parameter>dst_im</parameter> </paramdef> <paramdef>resource <parameter>src_im</parameter> </paramdef> <paramdef>int <parameter>dst_x</parameter> </paramdef> <paramdef>int <parameter>dst_y</parameter> </paramdef> <paramdef>int <parameter>src_x</parameter> </paramdef> <paramdef>int <parameter>src_y</parameter> </paramdef> <paramdef>int <parameter>src_w</parameter> </paramdef> <paramdef>int <parameter>src_h</parameter> </paramdef> <paramdef>int <parameter>pct</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopymerge</function> copie une partie de l'image <parameter>src_im</parameter> dans l'image de destination <parameter>dst_im</parameter> en commençant aux coordonnées (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec la largeur <parameter>src_w</parameter> et la hauteur <parameter>src_h</parameter>. La zone de l'image ainsi définie sera copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), dans l'image de destination. Les deux images seront fusionnées suivant le paramètre <parameter>pct</parameter>, qui peut valoir de 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est faite, alors que si <parameter>pct</parameter> = 100, <function>imagecopymerge</function> se comporte exactement comme <function>imagecopy</function>. </para> <note> <para> <function>imagecopymerge</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagecopymergegray"> <refnamediv> <refname>ImageCopyMergeGray</refname> <refpurpose> Copie et fusionne une partie d'une image en niveaux de gris </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopymergegray</function> </funcdef> <paramdef>resource <parameter>dst_im</parameter> </paramdef> <paramdef>resource <parameter>src_im</parameter> </paramdef> <paramdef>int <parameter>dst_x</parameter> </paramdef> <paramdef>int <parameter>dst_y</parameter> </paramdef> <paramdef>int <parameter>src_x</parameter> </paramdef> <paramdef>int <parameter>src_y</parameter> </paramdef> <paramdef>int <parameter>src_w</parameter> </paramdef> <paramdef>int <parameter>src_h</parameter> </paramdef> <paramdef>int <parameter>pct</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopymergegray</function> copie une partie de l'image <parameter>src_im</parameter> dans l'image de destination <parameter>dst_im</parameter> commençant aux coordonnées (<parameter>src_x</parameter>, <parameter>src_y</parameter>), avec la largeur <parameter>src_w</parameter> et la hauteur <parameter>src_h</parameter>. La zone de l'image ainsi définie sera copiée aux coordonnées (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), dans l'image de destination. Les deux images seront fusionnées suivant le paramètre <parameter>pct</parameter>, qui peut valoir de 0 à 100. Si <parameter>pct</parameter> = 0, aucune action n'est faite, alors que si <parameter>pct</parameter> = 100, <function>imagecopymerge</function> se comporte exactement comme <function>imagecopy</function>. </para> <para> <function>imagecopymergegray</function> est identique à la fonction <function>imagecopymerge</function>, hormis le fait que lors de la fusion, le "hue" de l'image sera conservé grâce à la conversion de la zone dans l'image de destination en gris, avant l'opération de copie. </para> <note> <para> <function>imagecopymergegray</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagecopyresized"> <refnamediv> <refname>ImageCopyResized</refname> <refpurpose>Copie et redimensionne une partie d'une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopyresized</function></funcdef> <paramdef>resource <parameter>dst_im</parameter></paramdef> <paramdef>resource <parameter>src_im</parameter></paramdef> <paramdef>int <parameter>dstX</parameter></paramdef> <paramdef>int <parameter>dstY</parameter></paramdef> <paramdef>int <parameter>srcX</parameter></paramdef> <paramdef>int <parameter>srcY</parameter></paramdef> <paramdef>int <parameter>dstW</parameter></paramdef> <paramdef>int <parameter>dstH</parameter></paramdef> <paramdef>int <parameter>srcW</parameter></paramdef> <paramdef>int <parameter>srcH</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopyresized</function> copie une partie rectangulaire d'une image dans une autre image de destination. <parameter>dst_im</parameter> est l'image de destination, <parameter>src_im</parameter> est l'image source. Si les dimensions de la source et de la destination ne sont pas égales, un étirement adéquat est effectué pour faire correspondre les deux. Les coordonnées fournies sont définies par rapport au coin supérieur gauche. Cette fonction peut être utilisée pour recopier des régions à l'intérieur d'une même image, si <parameter>dst_im</parameter> et <parameter>src_im</parameter> sont identiques : mais si les régions se chevauchent, le résultat risque d'être incohérent. </para> <para> Voir aussi <function>imagecopyresampled</function>. </para> </refsect1> </refentry> <refentry id="function.imagecopyresampled"> <refnamediv> <refname>ImageCopyResampled</refname> <refpurpose>Copie, redimensionne, rééchantillonne une image</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecopyresampled</function></funcdef> <paramdef>resource <parameter>dst_im</parameter></paramdef> <paramdef>resource <parameter>src_im</parameter></paramdef> <paramdef>int <parameter>dstX</parameter></paramdef> <paramdef>int <parameter>dstY</parameter></paramdef> <paramdef>int <parameter>srcX</parameter></paramdef> <paramdef>int <parameter>srcY</parameter></paramdef> <paramdef>int <parameter>dstW</parameter></paramdef> <paramdef>int <parameter>dstH</parameter></paramdef> <paramdef>int <parameter>srcW</parameter></paramdef> <paramdef>int <parameter>srcH</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecopyresampled</function> copie une zone rectangulaire de l'image <parameter>src_im</parameter> vers l'image <parameter>src_im</parameter>. Durant la copie, la zone est rééchantillonnée de manière à conserver la clarté de l'image durant une réduction. <parameter>Dst_im</parameter> est l'image de destination, <parameter>src_im</parameter> est l'image source. Si les hauteurs et largeur des source et destination diffèrent, l'image copiée sera étirée de manière appropriée. Les coordonnées sont celles du coin supérieur gauche. <function>imagecopyresampled</function> peut servir à copier des zones d'une image vers elle-même, mais si les régions se chevauchent, les résultats sont imprévisibles. </para> <para> Voir aussi <function>imagecopyresized</function>. </para> <note> <para> <function>imagecopyresampled</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreate"> <refnamediv> <refname>ImageCreate</refname> <refpurpose>Crée une nouvelle image à palette.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreate</function></funcdef> <paramdef>int <parameter>x_size</parameter></paramdef> <paramdef>int <parameter>y_size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreate</function> retourne un identifiant d'image représentant une image vide, de largeur <parameter>x_size</parameter> et longueur <parameter>y_size</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromgif"> <refnamediv> <refname>imagecreatefromgif</refname> <refpurpose> Crée une nouvelle image à partir d'un fichier ou d'une URL. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromgif</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromgif</function> retourne un identifiant d'image qui représente l'image obtenue à partir du fichier dont le nom est donné. </para> <para> <function>imagecreatefromgif</function> retourne une chaîne vide en cas d'échec. Il va aussi retourner une erreur qui va afficher un lien brisé dans un navigateur. Pour simplifier le débuggage, utilisez le code suivant, qui retourne une erreur <acronym>GIF</acronym> : <example> <title> Exemple de gestion des erreurs durant la création d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php"><?phpfunction loadgif($imgname){ $im = @imagecreatefromgif($imgname); /* Tentative d'ouverture */ if ($im == "") { /* échec ? */ $im = ImageCreate(150,30); /* Crée une image vide */ $bgc = ImageColorAllocate($im,255,255,255); $tc = ImageColorAllocate($im,0,0,0); imagefilledrectangle($im,0,0,150,30,$bgc); imagestring($im,1,5,5,"Erreur lors du chargement du fichier $imgname",$tc); /* Affiche un message d'erreur */ } return $im;}?> </programlisting> </example> <note> <para> Etant donné que toutes les fonctions de gestion des <acronym>GIF</acronym> ont été supprimées de la bibliothèque GD version 1.6, cette fonction n'est pas disponible si vous utilisez cette version de la librairie. </para> </note> </para> </refsect1> </refentry> <refentry id="function.imagecreatetruecolor"> <refnamediv> <refname>ImageCreateTrueColor</refname> <refpurpose>Crée une nouvelle image en vraies couleurs</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatetruecolor</function></funcdef> <paramdef>int <parameter>x_size</parameter></paramdef> <paramdef>int <parameter>y_size</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatetruecolor</function> retourne une ressource représentant une image noire de largeur <parameter>x_size</parameter>, et de hauteur <parameter>y_size</parameter>. </para> <note> <para> <function>imagecreatetruecolor</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagetruecolortopalette"> <refnamediv> <refname>ImageTrueColorToPalette</refname> <refpurpose>Convertit une image en vraies couleurs en image à palette</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>imagetruecolortopalette</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>boolean <parameter>dither</parameter></paramdef> <paramdef>int <parameter>ncolors</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagetruecolortopalette</function> convertit l'image en vraies couleurs <parameter>im</parameter> en image à palette. Le code de cette fonction est directement tiré de la librairie du "Independent JPEG Group", qui est tout simplement génial. Le code a été modifié pour préserver l'essentiel du canal alph dans la nouvelle palette, en plus de conserver les couleurs du mieux possible. Mais cela ne fonctionne pas toujours comme voulu. Il est alors préférable de générer un résultat en vraies couleurs, ce qui a toujours le meilleur rendu. </para> <para> Si <parameter>dither</parameter> vaut <literal>TRUE</literal>, cela indique que l'image doit être ditherée : l'image sera un peu plus granuleuse, mais l'approximation des couleurs sera meilleure. </para> <para> <parameter>ncolors</parameter> est le nombre maximal de couleurs dans la palette finale. </para> <note> <para> <function>imagetruecolortopalette</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreatefromjpeg"> <refnamediv> <refname>ImageCreateFromJPEG</refname> <refpurpose> Crée une nouvelle image <acronym>JPEG</acronym> à partir d'un fichier ou d'une URL </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromjpeg</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromjpeg</function> retourne un identifiant d'image représentant une image obtenue à partir du fichier <parameter>filename</parameter>. </para> <para> <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un lien brisé dans un navigateur web. Pour faciliter le débuggage, voici une erreur <acronym>JPEG</acronym>: <example> <title> Exemple de gestion d'erreur lors de la création d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php"><?phpfunction loadjpeg($imgname) { $im = @imagecreatefromjpeg($imgname); /* Tentative d'ouverture */ if (!$im) { /* Vérification */ $im = imagecreate(150, 30); /* Création d'une image blanche */ $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc);// Affichage d'un message d'erreur imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); } return $im;}?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.imagecreatefrompng"> <refnamediv> <refname>ImageCreateFromPNG</refname> <refpurpose> Crée une nouvelle image <acronym>PNG</acronym> à partir d'un fichier ou d'une URL </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefrompng</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefrompng</function> retourne un identifiant d'image représentant une image obtenue à partir du fichier <parameter>filename</parameter>. </para> <para> <function>imagecreatefromjpeg</function> retourne une chaîne vide en cas d'échec. Elle affiche aussi un message d'erreur, qui s'affiche comme un lien brisé dans un navigateur web. Pour faciliter le débuggage, voici une erreur <acronym>PNG</acronym>: <example> <title> Exemple de gestion d'erreur lors de la création d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php"><?phpfunction LoadPNG($imgname) { $im = @imagecreatefrompng($imgname); /* Tentative d'ouverture */ if (!$im) { /* Vérification */ $im = imagecreate(150, 30); /* Création d'une image blanche */ $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc); /* Affichage d'un message d'erreur */ imagestring($im, 1, 5, 5, "Erreur de chargement de l'image $imgname", $tc); } return $im;}?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.imagecreatefromwbmp"> <refnamediv> <refname>ImageCreateFromWBMP</refname> <refpurpose>Crée une image depuis un fichier WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromwbmp</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromwbmp</function> retourne une ressource d'image PHP, représentant l'image <parameter>filename</parameter>. </para> <para> <function>imagecreatefromwbmp</function> retourne une chaîne vide en cas d'erreur. Il retourne aussi un message d'erreur qui s'affiche comme un lien mort dans un navigateur. Pour aider au débuggage, l'exemple suivant va produire une erreur <acronym>WBMP</acronym>: <example> <title> Exemple de gestion des erreurs durant la création d'une image WBMP (gracieusement proposé par vic@zymsys.com) </title> <programlisting role="php">function loadwbmp($imgname) { $im = @imagecreatefromwbmp($imgname); /* Tentative d'ouverture */ if (!$im) { /* Vérification que cela s'est bien passé */ $im = imagecreate(20, 20); /* Crée une image blanche */ $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 10, 10, $bgc);// Affiche le message d'erreur imagestring($im, 1, 5, 5, "Erreur de chargement de $imgname", $tc); } return $im;} </programlisting> </example> </para> <note> <para> Le support WBMP n'est disponible qu'avec GD-1.8 ou plus récent. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreatefromstring"> <refnamediv> <refname>ImageCreateFromString</refname> <refpurpose>Crée une image à partir d'une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagecreatefromstring</function></funcdef> <paramdef>string <parameter>string</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromstring</function> retourne un identifiant d'image représentant la chaîne <parameter>string</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromxbm"> <refnamediv> <refname>ImageCreateFromXBM</refname> <refpurpose>Crée une image à partir d'un fichier XBM</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecreatefromxbm</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromxbm</function> retourne un identifiant d'image représentant l'image obtenue à partir du fichier <parameter>filename</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromxpm"> <refnamediv> <refname>ImageCreateFromXPM</refname> <refpurpose>Crée une image à partir d'un fichier XPM</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagecreatefromxpm</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagecreatefromxpm</function> retourne un identifiant d'image représentant l'image obtenue à partir du fichier <parameter>filename</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagedashedline"> <refnamediv> <refname>ImageDashedLine</refname> <refpurpose>Dessine une ligne pointillée.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagedashedline</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagedashedline</function> dessine une ligne pointillée entre les points (<parameter>x1</parameter>,<parameter>y1</parameter>) et (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin supérieur droit est l'origine (0,0)) dans l'image <parameter>im</parameter>, avec la couleur <parameter>col</parameter>. </para> <para> Voir aussi <function>imageline</function>. </para> </refsect1> </refentry> <refentry id="function.imagedestroy"> <refnamediv> <refname>ImageDestroy</refname> <refpurpose>détruit une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagedestroy</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagedestroy</function> libère toute la mémoire associée à l'image <parameter>im</parameter>. <parameter>im</parameter> est un identifiant d'image valide retourné par <function>imagecreate</function>. </para> </refsect1> </refentry> <refentry id="function.imagefill"> <refnamediv> <refname>ImageFill</refname> <refpurpose>Remplit.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefill</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefill</function> effectue un remplissage avec la couleur <parameter>col</parameter>, dans l'image <parameter>im</parameter>, à partir du point de coordonnées (<parameter>x</parameter>, <parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)). </para> </refsect1> </refentry> <refentry id="function.imagefilledpolygon"> <refnamediv> <refname>ImageFilledPolygon</refname> <refpurpose>Dessine un polygone rempli.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledpolygon</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>array <parameter>points</parameter></paramdef> <paramdef>int <parameter>num_points</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledpolygon</function> dessine un polygone rempli dans l'image <parameter>im</parameter>. <parameter>points</parameter> est un tableau PHP qui contient les sommets des polygones sous la forme :. points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. <parameter>num_points</parameter> est le nombre total de sommets. </para> </refsect1> </refentry> <refentry id="function.imagefilledrectangle"> <refnamediv> <refname>ImageFilledRectangle</refname> <refpurpose>Dessine un rectangle rempli.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilledrectangle</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilledrectangle</function> dessine un rectangle de couleur <parameter>col</parameter> dans l'image <parameter>im</parameter>, en commençant par le sommet supérieur gauche (<parameter>x1</parameter>, <parameter>y1</parameter>) et finissant au sommet inférieur droit (<parameter>x2</parameter>, <parameter>y2</parameter>). Le coin supérieur gauche est l'origine (0, 0). </para> </refsect1> </refentry> <refentry id="function.imagefilltoborder"> <refnamediv> <refname>ImageFillToBorder</refname> <refpurpose>Remplit avec une région avec une couleur spécifique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefilltoborder</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>border</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefilltoborder</function> remplit avec la couleur <parameter>col</parameter> toute la région à l'intérieur de la région limitée par la couleur <parameter>border</parameter>. Le point de départ est (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)). </para> </refsect1> </refentry> <refentry id="function.imagefontheight"> <refnamediv> <refname>ImageFontHeight</refname> <refpurpose>Retourne la hauteur de la police.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefontheight</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefontheight</function> retourne la hauteur de la police <parameter>font</parameter> en pixels. </para> <para> Voir aussi <function>imagefontwidth</function> et <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagefontwidth"> <refnamediv> <refname>ImageFontWidth</refname> <refpurpose>Retourne la largeur de la police.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagefontwidth</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagefontwidth</function> retourne la largeur de la police <parameter>font</parameter> en pixels. </para> <para> Voir aussi <function>imagefontheight</function> et <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagegif"> <refnamediv> <refname>ImageGif</refname> <refpurpose>Envoie une image GIF vers un navigateur ou un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagegif</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagegif</function> crée un fichier image <acronym>GIF</acronym> avec le nom <parameter>filename</parameter> d'après l'image <parameter>im</parameter>. L'argument <parameter>im</parameter> est un identifiant valide retourné par la fonction <function>imagecreate</function>. </para> <para> Le format de l'image sera GIF87a, à moins que l'image n'ait une couleur transparente (mise en place grâce à la fonction <function>imagecolortransparent</function>)), ce qui fera qu'elle sera au format GIF89a. </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant une en-tête de type <literal>image/gifcontent-type</literal> , (grâce à la fonction <function>header</function>), vous pouvez créer des images avec des scripts PHP. <note> <para> Etant donné que toutes les fonctions <acronym>GIF</acronym> ont été supprimées de la bibliothèque GD version 1.6, cette fonction ne sera pas accessible si vous avez cette version de la librairie. </para> <para> Le code suivant vous permet d'écrire des scripts PHP plus portables : le type de GD est automatiquement détecté. Il remplace la séquence <literal>Header("Content-type: image/gif"); ImageGif($im);</literal> par un code plus souple : <informalexample> <programlisting role="php"><?php if (function_exists("imagegif")) { header("Content-type: image/gif"); imagegif($im); } elseif (function_exists("imagejpeg")) { header("Content-type: image/jpeg"); imagejpeg($im, "", 0.5); } elseif (function_exists("imagepng")) { header("Content-type: image/png"); imagepng($im); } elseif (function_exists("imagewbmp")) { header("Content-type: image/vnd.wap.wbmp"); imagewbmp($im); } else { die("Pas de support graphique avec PHP sur ce serveur"); }?> </programlisting> </informalexample> </para> </note> <note> <para> En PHP 4, à partir de la version 4.0.2, vous pouvez utiliser la fonction <function>imagetypes</function> à la place de <function>function_exists</function> pour vérifier que certains formats d'images sont supportés : <informalexample> <programlisting role="php"><?php if (function_exists("imagegif")) { header("Content-type: image/gif"); imagegif($im); } elseif (function_exists("imagejpeg")) { header("Content-type: image/jpeg"); imagejpeg($im, "", 0.5); } elseif (function_exists("imagepng")) { header("Content-type: image/png"); imagepng($im); } elseif (function_exists("imagewbmp")) { header("Content-type: image/vnd.wap.wbmp"); imagewbmp($im); } else { die("Pas de support graphique avec PHP sur ce serveur"); }?> </programlisting> </informalexample> </para> </note> </para> <para> Voir aussi <function>imagejpeg</function>, <function>imagewbmp</function>, <function>imagepng</function>, <function>imageinterlace</function>, <function>imagegif</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imagepng"> <refnamediv> <refname>ImagePNG</refname> <refpurpose> Envoie une image PNG vers un navigateur ou un fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepng</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepng</function> envoie l'image GD (<parameter>im</parameter>) au format <acronym>PNG</acronym> sur la sortie standard (typiquement, le navigateur web), ou si <parameter>filename</parameter> est fourni, l'envoie dans un fichier. <informalexample> <programlisting role="php"><?php $im = imagecreatefrompng("test.png"); imagepng($im);?> </programlisting> </informalexample> </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant une image de type <literal>image/png content-type</literal> (grâce à la fonction <function>header</function>), vous pouvez créer des images <acronym>PNG</acronym> avec des scripts PHP. </para> <para> Voir aussi <function>imagejpeg</function>, <function>imagewbmp</function>, <function>imagegif</function>, <function>imageinterlace</function>, <function>imagegif</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imagejpeg"> <refnamediv> <refname>ImageJPEG</refname> <refpurpose> Envoie une image JPEG vers un navigateur ou un fichier. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagejpeg</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter> </paramdef> <paramdef>int <parameter><optional>quality</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagejpeg</function> envoie l'image GD (<parameter>im</parameter>) au format <acronym>JPEG</acronym> sur la sortie standard (typiquement, le navigateur web), ou si <parameter>filename</parameter> est fourni, l'envoie dans un fichier. <parameter>im</parameter> a été créé par <function>imagecreate</function>. </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement à la sortie standard. En envoyant une image de type <literal>image/jpeg content-type</literal> (grâce à la fonction <function>header</function>), vous pouvez créer des images <acronym>JPEG</acronym> avec des scripts PHP. </para> <note> <para> Le support <acronym>JPEG</acronym> n'est disponible que si PHP est compilé avec GD-1.8 ou plus récent. </para> </note> <para> <parameter>quality</parameter> est optionnel, et prend des valeurs entières de 0 (pire qualité, petit fichier) et 100 (meilleure qualité, gros fichier). Par défaut, la valeur est à 100. </para> <para> Si vous voulez générer des images JPEG progressive, vous devez choisir l'entrelacement à l'aide de la fonction <function>imageinterlace</function>. </para> <para> Voir aussi <function>imagepng</function>, <function>imagewbmp</function>, <function>imagegif</function>, <function>imageinterlace</function>, <function>imagegif</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imagewbmp"> <refnamediv> <refname>ImageWBMP</refname> <refpurpose>Affiche une image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagewbmp</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter><optional>filename</optional></parameter> </paramdef> <paramdef>int <parameter><optional>foreground</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>imagewbmp</function> crée l'image <acronym>WBMP</acronym> dans le fichier <parameter>filename</parameter>, à partir de l'image <parameter>im</parameter>. Le paramètre <parameter>im</parameter> a été créé avec la fonction <function>imagecreate</function>. </para> <para> <parameter>filename</parameter> est optionnel, et s'il est omis, l'image sera envoyée directement au client. En plaçant l'en-tête <acronym>image/vnd.wap.wbmp</acronym>, dans le champs "content-type", vous pourrez afficher une image <acronym>WBMP</acronym>. <note> <para> Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent. </para> </note> </para> <para> En passant le paramètre optionnel <parameter>foreground</parameter>, vous pouvez choisir la couleur de fond. Utilisez l'identifiant retourné par <function>imagecolorallocate</function> comme valeur de ce paramètre. La couleur de fond par défaut est noir. </para> <para> Voir aussi <function>image2wbmp</function>, <function>imagepng</function>, <function>imagegif</function>, <function>imagejpeg</function> et <function>imagetypes</function>. </para> </refsect1> </refentry> <refentry id="function.imageinterlace"> <refnamediv> <refname>ImageInterlace</refname> <refpurpose>Active ou désactive l'entrelacement.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imageinterlace</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter><optional>interlace</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageinterlace</function> active ou désactive le bit d'entrelacement. </para> <para> Si l'entrelacement est à 1, l'image <parameter>im</parameter> sera interlacée, et sinon, elle ne le sera pas. Si le format d'affichage de l'image est <acronym>JPEG</acronym>, l'image créée sera un JPEG progressif. </para> <para> <function>imageinterlace</function> retourne l'état courant d'entrelacement de l'image. </para> </refsect1> </refentry> <refentry id="function.imageline"> <refnamediv> <refname>ImageLine</refname> <refpurpose>Dessine une ligne.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imageline</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageline</function> dessine une ligne depuis le point (<parameter>x1</parameter>,<parameter>y1</parameter>) jusqu'au point (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter> et avec la couleur <parameter>col</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. </para> </refsect1> </refentry> <refentry id="function.imageloadfont"> <refnamediv> <refname>ImageLoadFont</refname> <refpurpose>Charge une nouvelle police.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imageloadfont</function></funcdef> <paramdef>string <parameter>file</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imageloadfont</function> charge une nouvelle police utilisateur et retourne un identifiant sur cette police. Cet identifiant sera toujours supérieur à 5, pour éviter les conflits avec les polices standard PHP. </para> <para> Le format des polices dépend actuellement du système d'exploitation. Ce qui signifie qu'il vous faut générer des fichiers de polices pour la machine qui fait tourner PHP. </para> <para> <table> <title>Format de fichier de police.</title> <tgroup cols="3"> <thead> <row> <entry>Position</entry> <entry>Type de données C</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry>Octets 0-3</entry> <entry>int</entry> <entry>Nombre de caractères de la police</entry> </row> <row> <entry>Octets 4-7</entry> <entry>int</entry> <entry> Valeur du premier caractère de la police (souvent 32 pour espace) </entry> </row> <row> <entry>Octets 8-11</entry> <entry>int</entry> <entry>Largeur en pixels des caractères</entry> </row> <row> <entry>Octets 12-15</entry> <entry>int</entry> <entry>Hauteur en pixels des caractères</entry> </row> <row> <entry>Octets 16-</entry> <entry>char</entry> <entry> Tableau avec les données des caractères, un octet par pixel pour chaque caractère, avec un total de (nombre_caractères*largeur*hauteur) octets. </entry> </row> </tbody> </tgroup> </table> </para> <para> Voir aussi <function>imagefontwidth</function> et <function>imagefontheight</function>. </para> </refsect1> </refentry> <refentry id="function.imagepalettecopy"> <refnamediv> <refname>ImagePaletteCopy</refname> <refpurpose>Copie la palette d'une image à l'autre</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepalettecopy</function></funcdef> <paramdef>resource <parameter>destination</parameter></paramdef> <paramdef>resource <parameter>source</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepalettecopy</function> copie la palette de l'image <parameter>source</parameter> dans l'image <parameter>destination</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagepolygon"> <refnamediv> <refname>ImagePolygon</refname> <refpurpose>Dessine un polygone.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepolygon</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>array <parameter>points</parameter></paramdef> <paramdef>int <parameter>num_points</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepolygon</function> dessine un polygone dans l'image <parameter>im</parameter>. <parameter>points</parameter> est un tableau PHP qui contient les sommets du polygone sous la forme : points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points est le nombre de sommets. </para> <para> Voir aussi <function>imagecreate</function>. </para> </refsect1> </refentry> <refentry id="function.imagepsbbox"> <refnamediv> <refname>ImagePSBBox</refname> <refpurpose> Retourne le rectangle entourant un texte et dessiné avec une police PostScript Type1. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagepsbbox</function></funcdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>space</parameter></paramdef> <paramdef>int <parameter>width</parameter></paramdef> <paramdef>float <parameter>angle</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>size</parameter> est exprimé en pixels. </para> <para> <parameter>space</parameter> permet de changer la valeur par défaut du charactère espace. Cette valeur est ajoutée lors des dessins, et donc, peut être négative. </para> <para> <parameter>tightness</parameter> permet de contrôler la quantité d'espace entre les caractères. Cette quantité est ajoutée lors des dessins, et peut donc être négative. </para> <para> <parameter>angle</parameter> est en degrés. </para> <para> Les paramètres <parameter>space</parameter> et <parameter>tightness</parameter> sont exprimés en unité d'espacement de caractères, avec 1 unité vaut 1/1000 d'un em carré (NDT : kesako?). </para> <para> Les paramètres <parameter>space</parameter>, <parameter>tightness</parameter> et <parameter>angle</parameter> sont optionnels. </para> <para> Le rectangle entourant est calculé en utilisant les informations disponibles sur les tailles de caractères, et, malheureusement, il a tendance à être légèrement différent du résultat réel final. Si l'angle est de 0 degré, vous pouvez-vous attendre à avoir besoin d'un rectangle d'au moins un pixel plus grand dans toutes les directions. </para> <para> <function>imagepsbbox</function> retourne un tableau contenant les éléments suivants : <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Abscisse inférieure gauche</entry> </row> <row> <entry>1</entry> <entry>Ordonnée inférieure gauche</entry> </row> <row> <entry>2</entry> <entry>Abscisse supérieure droite</entry> </row> <row> <entry>3</entry> <entry>Ordonnée supérieure droite</entry> </row> </tbody> </tgroup> </informaltable> </para> <para> Voir aussi <function>imagepstext</function>. </para> </refsect1> </refentry> <!-- The function in t1lib which this function uses seems to be buggy... Currently, just comment out everywhere in the docs and source until time permits to find a solution. <refentry id="function.imagepscopyfont"> <refnamediv> <refname>imagepscopyfont</refname> <refpurpose> Fait une copie d'une police chargée pour modification ultérieure. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepscopyfont</function></funcdef> <paramdef>int <parameter>fontindex</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Utilisez cette fonction si vous devez faire des modifications dans une polie, comme par exemple l'extension ou la condensation, ou encore, modifier son vecteur d'encodage, tout en conservant l'original. Notez que la police que vous copiez doit être obtenue par <function>imagepsloadfont</function>, et non pas une police qui a elle-même été copiée. Vous pouvez aussi faire des modifications avant de la copier. </para> <para> Si vous utilisez cette fonction, vous <emphasis>DEVEZ</emphasis> libérer les polices obtenues vous même, et dans l'ordre inverse. Sinon, votre script sera <emphasis>suspendu</emphasis>. </para> <para> Si tout a bien été fait, un index valide de police sera retourné, et pourra être utilisé ultérieurement. Sinon, la fonction retournera <literal>FALSE</literal>, et affichera un message décrivant l'erreur. </para> <para> Voir aussi <function>imageploadpsfont</function>. </para> </refsect1> </refentry> --> <refentry id="function.imagepsencodefont"> <refnamediv> <refname>ImagePSEncodeFont</refname> <refpurpose> Change le codage vectoriel d'un caractère dans une police. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagepsencodefont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>string <parameter>encodingfile</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepsencodefont</function> charge le codage vectoriel d'un caractère depuis un fichier et change le codage vectoriel de la police correspondante. Etant donné que les polices PostScript ne disposent pas des caractères au-delà de 127, vous aurez sûrement besoin de les changer si vous utilisez une autre langue que l'anglais. Le format exact est décrit dans la documentation T1libs. T1lib est disponible en deux formes : IsoLatin1.enc et IsoLatin2.enc. </para> <para> Si vous commencez à utiliser cette fonction régulièrement, une meilleure solution est de définir un encodage, et de l'utiliser avec set ps.default_encoding dans <link linkend="configuration.file">le fichier de configuration</link> pour utiliser par défaut l'encodage correct. </para> </refsect1> </refentry> <refentry id="function.imagepsfreefont"> <refnamediv> <refname>ImagePSFreeFont</refname> <refpurpose> Libère la mémoire occupée par une police PostScript Type 1. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>imagepsfreefont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Voir aussi <function>imagepsloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagepsloadfont"> <refnamediv> <refname>ImagePSLoadFont</refname> <refpurpose>Charge une police PostScript Type 1 depuis un fichier.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>imagepsloadfont</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Au cas où tout a bien marché, un index de police va être retourné, et pourra être utilisé pour des opérations ultérieures. Sinon, la fonction retourne <literal>FALSE</literal> et affiche un message décrivant ce qui est erroné. </para> <para> <programlisting role="php"><?php header("Content-type: image/jpeg"); $im = imagecreate(350, 45); $noir = imagecolorallocate($im, 0, 0, 0); $Blanc = imagecolorallocate($im, 255, 255, 255); $font = imagepsloadfont("bchbi.pfb"); imagepstext($im, "Test ... Ca marche!", $font, 32, $white, $black, 32, 32); imagepsfreefont($font); imagejpeg($im, ""); imagedestroy ($im);?< </programlisting> </para> <para> Voir aussi <function>imagepsfreefont</function>. </para> </refsect1> </refentry> <refentry id="function.imagepsextendfont"> <refnamediv> <refname>ImagePsExtendFont</refname> <refpurpose> Etend ou condense une police de caractères </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>imagepsextendfont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>float <parameter>extend</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepsextendfont</function> étend ou condense la police de caractères <parameter>font</parameter>. Si la valeur de <parameter>extend</parameter> est inférieure à 1, ce sera une condensation. </para> </refsect1> </refentry> <refentry id="function.imagepsslantfont"> <refnamediv> <refname>ImagePsSlantFont</refname> <refpurpose> Incline une police de caractères </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>imagepsslantfont</function></funcdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>float <parameter>slant</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagepsslantfont</function> met en italique la police de caractères <parameter>font</parameter> avec le coefficient <parameter>slant</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagepstext"> <refnamediv> <refname>ImagePSText</refname> <refpurpose>Dessine un texte sur une image avec une police PostScript Type1.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagepstext</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> <paramdef>resource <parameter>font</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>foreground</parameter></paramdef> <paramdef>int <parameter>background</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter> <optional>space</optional></parameter></paramdef> <paramdef>int <parameter> <optional>tightness</optional></parameter></paramdef> <paramdef>float <parameter> <optional>angle</optional></parameter></paramdef> <paramdef>int <parameter> <optional>antialias_steps</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <parameter>size</parameter> est exprimé en pixels. </para> <para> <parameter>foreground</parameter> est la couleur dans laquelle le texte va être dessiné. <parameter>background</parameter> est la couleur d'anti aliasing. Aucun pixel avec la couleur <parameter>background</parameter> n'est dessiné, ce qui fait que l'arrière-plan n'a pas besoin d'être dans une couleur fixe. </para> <para> Les coordonnées données (<parameter>x</parameter>, <parameter>y</parameter>) définissent l'origine du premier caractère (grossièrement, le coin inférieur gauche du caractère). Ceci est différent de la fonction <function>imagestring</function>, où (x, y) définissait le coin supérieur gauche du premier caractère. Reportez-vous à la documentation PostScript pour avoir des détails à propos des polices et de leurs tailles. </para> <para> <parameter>space</parameter> permet de changer la taille par défaut du caractère d'espacement. Cette valeur peut être négative. </para> <para> <parameter>tightness</parameter> permet de contrôler la quantité d'espace entre deux caractères. Cette valeur peut être négative. </para> <para> <parameter>angle</parameter> est en degrés. </para> <para> <parameter>antialias_steps</parameter> permet de contrôler le nombre de couleurs du texte anti-aliasé. Les valeurs autorisées sont 4 et 16. 16 est recommandé pour les polices de moins de 20 pixels, car l'effet est alors visible. Avec les tailles plus grandes, utilisez de préférence 4, qui est moins gourmande en ressources. </para> <para> Les paramètres <parameter>space</parameter> et <parameter>tightness</parameter> sont exprimés en unité d'espaces caractère, ce qui vaut 1/1000ème d'un em-carré ( ? ? ?). </para> <para> Les paramètres <parameter>space</parameter>, <parameter>tightness</parameter>, <parameter>angle</parameter> et <parameter>antialias</parameter> sont optionnels. </para> <para> <function>imagepstext</function> retourne un tableau contenant les éléments suivants : <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Abscisse inférieure gauche</entry> </row> <row> <entry>1</entry> <entry>Ordonnée inférieure gauche</entry> </row> <row> <entry>2</entry> <entry>Abscisse supérieure droite</entry> </row> <row> <entry>3</entry> <entry>Ordonnée supérieure droite</entry> </row> </tbody> </tgroup> </informaltable> </para> <para> Voir aussi <function>imagepsbbox</function>. </para> </refsect1> </refentry> <refentry id="function.imagerectangle"> <refnamediv> <refname>ImageRectangle</refname> <refpurpose>Dessine un rectangle.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagerectangle</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x1</parameter></paramdef> <paramdef>int <parameter>y1</parameter></paramdef> <paramdef>int <parameter>x2</parameter></paramdef> <paramdef>int <parameter>y2</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagerectangle</function> dessine un rectangle dans la couleur <parameter>col</parameter>, dans l'image <parameter>im</parameter>, et en commençant au point supérieur gauche (<parameter>x1</parameter>, <parameter>y1</parameter>), et en finissant au point inférieur droit (<parameter>x2</parameter>,<parameter>y2</parameter>). Le coin supérieur gauche est l'origine (0,0). </para> </refsect1> </refentry> <refentry id="function.imagesetpixel"> <refnamediv> <refname>ImageSetPixel</refname> <refpurpose>Dessine un pixel.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesetpixel</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesetpixel</function> dessine un pixel au point (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)) dans l'image <parameter>im</parameter>, et avec la couleur <parameter>col</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagecolorallocate</function>. </para> </refsect1> </refentry> <refentry id="function.imagesetbrush"> <refnamediv> <refname>imagesetbrush</refname> <refpurpose>Modifie la brosse pour le dessin des lignes</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesetbrush</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>brush</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesetbrush</function> remplace la brosse courante pour le dessin des lignes par <parameter>brush</parameter>. Cette brosse sera alors utilisée avec les fonctions <function>imageline</function> et <function>imagepolygon</function>. </para> <note> <para> Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser les options IMG_COLOR_BRUSHED et IMG_COLOR_STYLEDBRUSHED des fonctions <function>imageline</function> et <function>imagepolygon</function>, avant d'avoir créé une nouvelle brosse. </para> </note> <note> <para> <function>imagesetbrush</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagesettile"> <refnamediv> <refname>ImageSetTile</refname> <refpurpose>Modifie l'image utilisée pour le carrelage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesettile</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>resource <parameter>tile</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesettile</function> remplace l'image de carrelage courante par l'image <parameter>tile</parameter>, à utiliser dans tous les remplissages (comme avec les fonctions <function>imagefill</function> et <function>imagefilledpolygon</function>) lors des remplissages avec l'option <literal>IMG_COLOR_TILED</literal>. </para> <para> Une image de carrelage est une image utilisée pour remplir une zone, de manière répétitive. N'importe quelle image GD peut servir d'image de remplissage. L'utilisation de la couleur transparente (gérée avec la fonction <function>imagecolortransparent</function>) permet à certaines zones d'apparaître à travers le carrelage. </para> <note> <para> Vous n'avez rien à faire lorsque vous en avez terminé avec une brosse, mais si vous détruisez l'image de brosse, vous ne DEVEZ plus utiliser l'option <literal>IMG_COLOR_TILED</literal> des fonctions <function>imagefill</function> et <function>imagefilledpolygon</function>, avant d'avoir créé une nouvelle brosse. </para> </note> <note> <para> <function>imagesettile</function> a été ajoutée en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagesetthickness"> <refnamediv> <refname>ImageSetThickness</refname> <refpurpose>Modifie l'épaisseur d'un trait</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>void <function>imagesetthickness</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>thickness</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesetthickness</function> modifie l'épaisseur du trait des lignes de l'image <parameter>im</parameter>. Cette épaisseur intervient dans les dessins de polygones, ellipses, cercles, rectangles, etc... <parameter>thickness</parameter> est en pixels. </para> <note> <para> <function>imagesetthickness</function> a été ajoutée en PHP 4.0.6 et nécessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagestring"> <refnamediv> <refname>ImageString</refname> <refpurpose>Dessine une chaîne horizontale.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagestring</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>s</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagestring</function> dessine une la chaîne sur une ligne horizontale, dans l'image <parameter>im</parameter>, aux coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)) dans la couleur <parameter>col</parameter>. Si l'argument de police vaut 1, 2, 3, 4 ou 5, une des polices par défaut sera utilisée). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagestringup"> <refnamediv> <refname>ImageStringUp</refname> <refpurpose>Dessine une chaîne verticale.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagestringup</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>font</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>string <parameter>s</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagestringup</function> dessine une chaîne sur une ligne verticale dans l'image <parameter>im</parameter> aux coordonnées (<parameter>x</parameter>, <parameter>y</parameter>) (l'origine est le coin supérieur gauche (0,0)) dans la couleur <parameter>col</parameter>. Si la police utilisée est 1, 2, 3, 4 ou 5, une police par défaut sera utilisée. </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagesx"> <refnamediv> <refname>ImageSX</refname> <refpurpose>Retourne la largeur d'une image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesx</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesx</function> retourne la largeur de l'image référencée par <parameter>im</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagesy</function>. </para> </refsect1> </refentry> <refentry id="function.imagesy"> <refnamediv> <refname>ImageSY</refname> <refpurpose>Retourne la hauteur de l'image.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagesy</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagesy</function> retourne la hauteur de l'image référencée par <parameter>im</parameter>. </para> <para> Voir aussi <function>imagecreate</function> et <function>imagesx</function>. </para> </refsect1> </refentry> <refentry id="function.imagettfbbox"> <refnamediv> <refname>ImageTTFBBox</refname> <refpurpose> Retourne le rectangle entourant un texte et dessiné avec une police TrueType. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagettfbbox</function></funcdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>angle</parameter></paramdef> <paramdef>string <parameter>fontfile</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagettfbbox</function> calcule et retourne le rectangle entourant le texte <parameter>text</parameter>, écrit avec une police truetype. <variablelist> <varlistentry> <term> <parameter>text</parameter> </term> <listitem> <simpara> La chaîne à mesurer. </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>size</parameter> </term> <listitem> <simpara> La taille de la police en pixel. </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>fontfile</parameter> </term> <listitem> <simpara> Le nom de la police TrueType (peut aussi être une URL.) </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>angle</parameter> </term> <listitem> <simpara>Angle en degré dans lequel le texte <parameter>text</parameter> va être mesuré. </simpara> </listitem> </varlistentry> </variablelist> <function>imagettfbbox</function> retourne une tableau avec 8 éléments, représentant les 4 sommets du rectangle ainsi défini. <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Coin inférieur gauche, abscisse</entry> </row> <row> <entry>1</entry> <entry>Coin inférieur gauche, ordonnée</entry> </row> <row> <entry>2</entry> <entry>Coin inférieur droit, abscisse</entry> </row> <row> <entry>3</entry> <entry>Coin inférieur droit, ordonnée</entry> </row> <row> <entry>4</entry> <entry>Coin supérieur droit, abscisse</entry> </row> <row> <entry>5</entry> <entry>Coin supérieur droit, ordonnée</entry> </row> <row> <entry>6</entry> <entry>Coin supérieur gauche, abscisse</entry> </row> <row> <entry>7</entry> <entry>Coin supérieur gauche, ordonnée</entry> </row> </tbody> </tgroup> </informaltable> Les positions des points sont relatives au texte <emphasis>text</emphasis>, indépendamment de l'angle : coin supérieur gauche faire référence au coin supérieur gauche du texte écrit horizontalement. </para> <para> <function>imagettfbbox</function> requiert les bibliothèques GD et Freetype. </para> <para> Voir aussi <function>imagettftext</function>. </para> </refsect1> </refentry> <refentry id="function.imagettftext"> <refnamediv> <refname>ImageTTFText</refname> <refpurpose>Dessine un texte avec une police TrueType.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>imagettftext</function></funcdef> <paramdef>resource <parameter>im</parameter></paramdef> <paramdef>int <parameter>size</parameter></paramdef> <paramdef>int <parameter>angle</parameter></paramdef> <paramdef>int <parameter>x</parameter></paramdef> <paramdef>int <parameter>y</parameter></paramdef> <paramdef>int <parameter>col</parameter></paramdef> <paramdef>string <parameter>fontfile</parameter></paramdef> <paramdef>string <parameter>text</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>imagettftext</function> dessine la chaîne <parameter>text</parameter> dans l'image <parameter>im</parameter>, en commençant aux coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) (le coin supérieur gauche est l'origine (0,0)), avec un angle de <parameter>angle</parameter>, et dans la couleur <parameter>col</parameter>, en utilisant la police TrueType identifiée par <parameter>fontfile</parameter>. </para> <para> Les coordonnées (<parameter>x</parameter>,<parameter>y</parameter>) serviront de référence pour le premier caractère (en gros, le coin inférieur gauche du caractère). C'est différent de <function>imagestring</function>, qui utilise le coin supérieur droit. </para> <para> <parameter>angle</parameter> est donné en degrés, avec degré 0 pour un texte horizontal, et en comptant les angles dans le sens inverse des aiguilles d'une montre (sens direct). </para> <para> <parameter>fontfile</parameter> est le chemin jusqu'à la police TrueType à utiliser. </para> <para> <parameter>text</parameter> est le texte à dessiner, incluant aussi des séquences de caractères UTF-8 (de la forme: &#123; ) pour générer des caractères au-delà de 255. </para> <para> <parameter>col</parameter> est l'index de la couleur dans la palette. Utiliser des index négatifs, revient à supprimer l'anti-aliasing. </para> <para> <function>imagettftext</function> retourne un tableau de 8 éléments représentant les 4 points marquants les limites du texte. L'ordre des points est :supérieur gauche, supérieur droit, inférieur droit, inférieur gauche. Les points sont nommés relativement au texte à l'horizontale<function>imagecolorexact</function>. </para> <para> Cet exemple va générer une image <acronym>GIF</acronym> noire de 400x30 pixels, avec les mots "Test en cours...Oméga: &#937;" en police blanche, type Arial. <example> <title>Exemple avec <function>imagettftext</function></title> <programlisting role="php"><?php header("Content-type: image/gif"); $im = imagecreate(400,30); $black = imagecolorallocate($im, 0,0,0); $white = imagecolorallocate($im, 255,255,255); imagettftext($im, 20, 0, 10, 20, $white, "/path/arial.ttf", "Test en cours... Oméga: &#937;"); imagegif($im); imagedestroy($im);?> </programlisting> </example> </para> <para> <function>imagettftext</function> requiert les bibliothèques GD ainsi que <ulink url="&url.freetype;">FreeType</ulink>. </para> <para> Voir aussi <function>imagettfbbox</function>. </para> </refsect1> </refentry> <refentry id="function.imagetypes"> <refnamediv> <refname>ImageTypes</refname> <refpurpose> Retourne les types d'images supportés par la version courante de PHP </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>imagetypes</function></funcdef> <paramdef>void</paramdef> </funcprototype> </funcsynopsis> <para> <function>imagetypes</function> retourne un champs de bits correspondant aux formats d'images supportés par la version de GD utilisée. Les valeurs suivantes sont valables : <literal>IMG_GIF</literal> | <literal>IMG_JPG</literal> | <literal>IMG_PNG</literal> | <literal>IMG_WBMP</literal>. Pour vous assurer du support <acronym>PNG</acronym>, faites ceci : <example> <title>Exemple avec ImageTypes</title> <programlisting role="php"><?php if (imagetypes() & IMG_PNG) { echo "Le type PNG est supporté"; }?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.jpeg2wbmp"> <refnamediv> <refname>JPEG2WBMP</refname> <refpurpose>Convertit une image JPEG en image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>jpeg2wbmp</function></funcdef> <paramdef>string <parameter>jpegname</parameter></paramdef> <paramdef>string <parameter>wbmpname</parameter></paramdef> <paramdef>int <parameter>d_height</parameter></paramdef> <paramdef>int <parameter>d_width</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>jpeg2wbmp</function> convertit l'image JPEG du fichier <parameter>jpegname</parameter> au format WBMP, et la sauve dans le fichier <parameter>wbmpname</parameter>. Les paramètres <parameter>d_height</parameter> et <parameter>d_width</parameter> vous permettent de spécifier la hauteur et la largeur (respectivement) de l'image de destination. </para> <para> <note> <para> Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent. </para> </note> </para> <para> Voir aussi <function>png2wbmp</function>. </para> </refsect1> </refentry> <refentry id="function.png2wbmp"> <refnamediv> <refname>PNG2WBMP</refname> <refpurpose>Convertit une image PNG en image WBMP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>png2wbmp</function></funcdef> <paramdef>string <parameter>pngname</parameter></paramdef> <paramdef>string <parameter>wbmpname</parameter></paramdef> <paramdef>int <parameter>d_height</parameter></paramdef> <paramdef>int <parameter>d_width</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>png2wbmp</function> convertit l'image PNG du fichier <parameter>pngname</parameter> au format WBMP, et la sauve dans le fichier <parameter>wbmpname</parameter>. Les paramètres <parameter>d_height</parameter> et <parameter>d_width</parameter> vous permettent de spécifier la hauteur et la largeur (respectivement) de l'image de destination. </para> <para> <note> <para> Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent. </para> </note> </para> <para> Voir aussi <function>jpeg2wbmp</function>. </para> </refsect1> </refentry> <refentry id="function.read-exif-data"> <refnamediv> <refname>read_exif_data</refname> <refpurpose>Lit les en-têtes EXIF d'une image JPEG</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>read_exif_data</function></funcdef> <paramdef>string <parameter>filename</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>read_exif_data</function> lit les en-têtes EXIF de l'image <acronym>JPEG</acronym> nommée <parameter>filename</parameter>. Elle retourne un tableau associatif où les index sont les noms d'en-têtes EXIF, et les valeurs sont leur valeur associée. Les en-têtes EXIF sont souvent disponibles dans les images générées par les appareils photos numériques, mais chaque constructeur marque ses images d'une manière qui lui est propre : il est impossible de savoir quelles en-têtes seront présents. <example> <title>Exemple avec <function>read_exif_data</function></title> <programlisting role="php"><?php $exif = read_exif_data('p0001807.jpg'); while(list($k,$v)=each($exif)) { echo "$k: $v<br>\n"; }?> </programlisting> <simpara> Cet exemple va afficher : </simpara> <literallayout> <computeroutput>FileName: p0001807.jpgFileDateTime: 929353056FileSize: 378599CameraMake: Eastman Kodak CompanyCameraModel: KODAK DC265 ZOOM DIGITAL CAMERA (V01.00)DateTime: 1999:06:14 01:37:36Height: 1024Width: 1536IsColor: 1FlashUsed: 0FocalLength: 8.0mmRawFocalLength: 8ExposureTime: 0.004 s (1/250)RawExposureTime: 0.0040000001899898ApertureFNumber: f/ 9.5RawApertureFNumber: 9.5100002288818FocusDistance: 16.66mRawFocusDistance: 16.659999847412Orientation: 1ExifVersion: 0200 </computeroutput> </literallayout> </example> </para> <para> <note> <simpara> <function>read_exif_data</function> n'est disponible que sous PHP 4 , compilé avec <link linkend="install.configure.enable-exif">--enable-exif</link>. </simpara> <simpara> <function>read_exif_data</function> ne requiert pas la librairie GD. </simpara> </note> </para> </refsect1> </refentry></reference><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file