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: 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&eacute;s ont &eacute;t&eacute; forc&eacute;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&eacute;s du + tableau <parameter>input</parameter>, et force leur type. + Le param&egrave;tre optionnel <parameter>case</parameter> + permet de forcer les cha&icirc;nes de caract&egrave;res en majuscules + <constant>CASE_UPPER</constant> ou minuscules + <constant>CASE_LOWER</constant>. La valeur par d&eacute;faut + est <constant>CASE_LOWER</constant>. Cette fonction + laissera les cl&eacute;s num&eacute;riques inchang&eacute;es. + </para> + <para> + <example> + <title>Exemple avec <function>array_change_key_case</function></title> + <programlisting role="php"> +&lt;?php +$input_array = array("PrEmIEr" => 1, "SecOnd" => 2); +print_r(array_change_key_case($input_array, CASE_UPPER); +?&gt; + </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&eacute;pare un tableau en tableaux de taille inf&eacute;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&eacute;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&eacute;sultat est un + tableau multidimensionnel, index&eacute; num&eacute;riquement. + </para> + <para> + En passant la valeur &true; au param&egrave;tre optionnel + <parameter>preserve_keys</parameter>, vous pouvez forcer + PHP &agrave; pr&eacute;server les cl&eacute;s originales du tableau + <parameter>input</parameter>. Si vous utilisez la valeur + par d&eacute;faut (&false;), de nouveaux index num&eacute;riques seront + fournis, commencant &agrave; 0. + </para> + <para> + <example> + <title>Exemple avec <function>array_chunk</function></title> + <programlisting role="php"> +&lt;?php +$input_array = array('a', 'b', 'c', 'd', 'e'); +print_r(array_chunk($input_array, 2)); +print_r(array_chunk($input_array, 2, TRUE)); +?&gt; + </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&eacute;rifie si une cl&eacute; &eacute;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&eacute; du nom de <parameter>key</parameter> dans le tableau + <parameter>search</parameter>. <parameter>key</parameter> + peut &ecirc;tre n'importe quelle valeur valide d'index + de tableau. + </para> + <para> + <example> + <title>Exemple avec <function>key_exists</function></title> + <programlisting role="php"> +&lt;?php +$search_array = array("premier" => 1, "second" => 4); +if (key_exists("premier", $search_array)) { + echo "L'&eacute;l&eacute;ment 'premier' existe dans le tableau"; +} +?&gt; + </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 &eacute;crire et lire des fichier bzip2 (.bz2) de mani&egrave;re transparente. </para> <para> Le support <acronym>bzip2</acronym> par PHP n'est pas activ&eacute; par d&eacute;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 &gt;= 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&eacute;sent&eacute; par le pointeur <parameter>bz</parameter>. </para> <para> @@ -70,7 +72,7 @@ valide, et avoir &eacute;t&eacute; 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&icirc;ne + <function>bzcompress</function> compresse la cha&icirc;ne <parameter>source</parameter> et retourne les donn&eacute;es ainsi encod&eacute;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&eacute;compresse la cha&icirc;ne + <function>bzdecompress</function> d&eacute;compresse la cha&icirc;ne <parameter>source</parameter>, en supposant qu'elle a &eacute;t&eacute; compress&eacute;e avec bzip2, puis la retourne. Si le param&egrave;tre optionnel <parameter>small</parameter> vaut <literal>TRUE</literal>, un autre algorithme de d&eacute;compression sera utilis&eacute; : il consomme - moins de m&eacute;moire (le maximum demand&eacute; tombe autour de - 2300 ko), mais fonctionne globalement &agrave; la moiti&eacute; de - la vitesse. Reportez-vous &agrave; la - <ulink url="&url.bzip2;">documentation bzip2</ulink> pour plus de + moins de m&eacute;moire (le maximum demand&eacute; tombe autour de + 2300 ko), mais fonctionne globalement &agrave; la moiti&eacute; de + la vitesse. Reportez-vous &agrave; la + <ulink url="&url.bzip2;">documentation bzip2</ulink> pour plus de d&eacute;tails sur cette fonctionnalit&eacute;. </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&eacute;ro d'erreur - du fichier bz2 repr&eacute;sent&eacute; par le pointeur + du fichier bz2 repr&eacute;sent&eacute; 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&eacute;ro et le message d'erreur - du fichier bz2 repr&eacute;sent&eacute; par le pointeur + du fichier bz2 repr&eacute;sent&eacute; 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&eacute;sent&eacute; par le pointeur + du fichier bz2 repr&eacute;sent&eacute; 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&egrave;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 &eacute;criture ou en lecture. <parameter>filename</parameter> + en &eacute;criture ou en lecture. <parameter>filename</parameter> est le nom du fichier &agrave; ouvrir. <parameter>mode</parameter> est similaire au m&ecirc;me param&egrave;tre de la fonction <function>fopen</function> (`r' pour lecture, `w' pour &eacute;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'&agrave; <parameter>length</parameter> - octets depuis le fichier bzip2, r&eacute;f&eacute;renc&eacute; par le pointeur - <parameter>bz</parameter>. La lecture s'arr&ecirc;te lorsque - <parameter>length</parameter> octets (non compress&eacute;s) - ont &eacute;t&eacute; lus, qu'une erreur est rencontr&eacute;e, - ou bien que la fin du fichier a &eacute;t&eacute; atteinte : - le premier des trois qui survient. Si le param&egrave;tre - optionnel <parameter>length</parameter> est omis, + <function>bzread</function> lit jusqu'&agrave; <parameter>length</parameter> + octets depuis le fichier bzip2, r&eacute;f&eacute;renc&eacute; par le pointeur + <parameter>bz</parameter>. La lecture s'arr&ecirc;te lorsque + <parameter>length</parameter> octets (non compress&eacute;s) + ont &eacute;t&eacute; lus, qu'une erreur est rencontr&eacute;e, + ou bien que la fin du fichier a &eacute;t&eacute; atteinte : + le premier des trois qui survient. Si le param&egrave;tre + optionnel <parameter>length</parameter> est omis, <function>bzread</function> lit 1024 octets (non compress&eacute;s) en m&ecirc;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> &eacute;crit le contenu de la cha&icirc;ne <parameter>data</parameter> dans le fichier bzip2 repr&eacute;sent&eacute; - par <parameter>bz</parameter>. Si le param&egrave;tre optionnel - <parameter>length</parameter> est fourni, l'&eacute;criture sera - arr&ecirc;t&eacute;e apr&egrave;s l'&eacute;criture de - <parameter>length</parameter> octets (non compress&eacute;s), + par <parameter>bz</parameter>. Si le param&egrave;tre optionnel + <parameter>length</parameter> est fourni, l'&eacute;criture sera + arr&ecirc;t&eacute;e apr&egrave;s l'&eacute;criture de + <parameter>length</parameter> octets (non compress&eacute;s), ou la fin de la cha&icirc;ne (le premier qui survient). </para> <para> @@ -418,12 +420,12 @@ $bz = bzopen("/tmp/foo.bz2", "w"); bzwrite($bz, $str, strlen($str)); ?&gt; - </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 &eacute;t&eacute; compil&eacute;e. - Elle est situ&eacute;e dans les sous-dossiers "dl" ou "ext" - de votre distribution de PHP. Lisez le fichier - README pour plus de d&eacute;tails. - </para> - <para> - L'extension de calendrier propose une s&eacute;rie de fonctions - qui simplifie les conversions entre les diff&eacute;rents formats - de calendrier. La r&eacute;f&eacute;rence est le nombre de jour du - calendrier Julien. C'est le nombre de jours depuis une date qui - commence bien au del&agrave; des dates les plus recul&eacute;es - dont on a besoin (situ&eacute;e en 4000 avant J.C.). Pour convertir - une date d'un calendrier &agrave; un autre, il faut d'abord la convertir - dans ce calendrier, puis convertir le r&eacute;sultat dans le calendrier - d&eacute;sir&eacute;. Attention, le nombre de jour du calendrier Julien - est un syst&egrave;me tr&egrave;s diff&eacute;rent du calendrier Julien!. - Pour plus d'informations (en anglais), reportez vous &agrave; - <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&eacute;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&icirc;ne contenant une date du calendrier - gr&eacute;gorien, au format "mois/jour/ann&eacute;e". - </para> - </refsect1> - </refentry> - <refentry id="function.gregoriantojd"> - <refnamediv> - <refname>GregorianToJD</refname> - <refpurpose> - Convertit une date gr&eacute;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&eacute; pour le calendrier gr&eacute;gorien : - 4714 avant JC &agrave; 9999 apr&egrave;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&eacute;&eacute; le 18 octobre 1582 apr&egrave;s J.C. (ou 5 octobre 1582 - en calendrier grec). Certains pays ne l'accept&egrave;rent que bien plus - tard. Par exemple, les britanniques n'y pass&egrave;rent en 1752, les - Russes en 1918 et les Grecs en 1923. La plus part des pays europ&eacute;ens - utilisaient le calendrier Julien avant le Gr&eacute;gorien. - <example> - <title>Fonctions calendrier</title> - <programlisting role="php"> -&lt;?php -$jd = gregoriantojd(10,11,1970); -echo("$jd\n"); -$gregorian = jdtogregorian($jd); -echo("$gregorian\n"); -?&gt; - </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&icirc;ne contenant la date du calendrier Julien, au format - "mois/jour/ann&eacute;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&eacute; du calendrier Julien : 4713 avant JC &agrave; - 9999 apr&egrave;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&eacute;&eacute; en 46 avant JC, et ses d&eacute;tails ne furent - finalis&eacute;s qu'au plus t&ocirc;t en 8 apr&egrave;s JC, et probablement - pas avant le 4&egrave;me si&egrave;cle apr&egrave;s JC. De plus, le - d&eacute;but de l'ann&eacute;e variait suivant les peuples, certains - n'acceptant pas janvier comme premier mois de l'ann&eacute;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 &agrave; partir de l'an 1 (3761 - avant JC), une telle utilisation a peu de sens. - </para> - <para> - Le calendrier juif a &eacute;t&eacute; utilis&eacute; depuis plusieurs - dizaines de si&egrave;cles, mais dans les premiers temps, il n'y avait - pas de formule pour d&eacute;terminer le d&eacute;but du mois. Un nouveau - mois commencait quand une nouvelle lune &eacute;tait observ&eacute;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&ccedil;ais r&eacute;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&ccedil;ais r&eacute;publicain. - </para> - </refsect1> - </refentry> - <refentry id="function.frenchtojd"> - <refnamediv> - <refname>FrenchToJD</refname> - <refpurpose> - Convertit une date du calendrier fran&ccedil;ais r&eacute;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&ccedil;ais r&eacute;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 &agrave; 22 September 1806 en calendrier gr&eacute;gorien). - Cela couvre plus que la dur&eacute;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&icirc;ne contenant le - nom du mois. <parameter>mode</parameter> indique de quel calendrier - d&eacute;pend ce mois, et quel type de nom doit &ecirc;tre retourn&eacute;. - <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&eacute;gorien - abr&eacute;g&eacute;</entry> - </row> - <row> - <entry>1</entry> - <entry>Gr&eacute;gorien</entry> - </row> - <row> - <entry>2</entry> - <entry>Julien - abr&eacute;g&eacute;</entry> - </row> - <row> - <entry>3</entry> - <entry>Julien</entry> - </row> - <row> - <entry>4</entry> - <entry>Juif</entry> - </row> - <row> - <entry>5</entry> - <entry>R&eacute;publicain fran&ccedil;ais</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - </refentry> - <refentry id="function.jddayofweek"> - <refnamediv> - <refname>JDDayOfWeek</refname> - <refpurpose> - Retourne le num&eacute;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&eacute;ro du jour de - la semaine. Peut retourner une cha&icirc;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&eacute;ro du jour comme un entier - (0=dimanche, 1=lundi, etc.) - </entry> - </row> - <row> - <entry>1</entry> - <entry>Retourne une cha&icirc;ne contenant le nom du jour - (anglais gr&eacute;gorien) - </entry> - </row> - <row> - <entry>2</entry> - <entry>Retourne une cha&icirc;ne contenant le nom abr&eacute;g&eacute; du - jour de la semaine (anglais gr&eacute;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&agrave;ques, &agrave; minuit, pour une - ann&eacute;e donn&eacute;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&agrave;ques, - &agrave; minuit, pour une ann&eacute;e donn&eacute;e. Si l'ann&eacute;e n'est - pas pr&eacute;cis&eacute;e, c'est l'ann&eacute;e en cours qui est - utilis&eacute;e. - </para> - <para> - <emphasis>ATTENTION:</emphasis> <function>easter_date</function> - g&eacute;n&eacute;re une alerte (Warning) si la date tombe hors de la - zone de validit&eacute; des timestamp UNIX (i.e. avant 1970 ou - apr&egrave;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&agrave;ques a &eacute;t&eacute; fix&eacute;e par le concile - de Nic&eacute;e, en 325 de notre &egrave;re, comme &eacute;tant le dimanche - apr&egrave;s la premi&egrave;re lune pleine qui suit l'&eacute;quinoxe de - printemps. L'&eacute;quinoxe de printemps est consid&eacute;r&eacute; - comme &eacute;tant toujours le 21 mars, ce qui r&eacute;duit le - probl&egrave;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&eacute;es avant 1753), - un cycle de 19 ans suffit pour conna&icirc;tre les date des phases de la - lune. Avec le calendrier gr&eacute;gorien, (&agrave; partir des ann&eacute;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 &eacute;t&eacute; ajout&eacute;s pour rendre - le cycle plus pr&eacute;cis. - </para> - <para> - (Ce code est bas&eacute; sur le programme en C de Simon Kershaw, - &lt;webmaster@ely.anglican.org>) - </para> - <para> - Voir <function>easter_days</function> pour les calculs de date de - P&agrave;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&agrave;ques, pour une - ann&eacute;e donn&eacute;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&agrave;ques, pour une ann&eacute;e donn&eacute;e. Si l'ann&eacute;e n'est - pas pr&eacute;cis&eacute;e, l'ann&eacute;e en cours est utilis&eacute;e par - d&eacute;faut. - </para> - <para> - <function>easter_days</function> peut &ecirc;tre utilis&eacute;e &agrave; - la place de <function>easter_date</function> pour calculer la date de - P&agrave;ques, pour les ann&eacute;es qui tombent hors de l'intervalle - de validit&eacute; des timestamps UNIX (i.e. avant 1970 ou apr&egrave;s 2037). - <example> - <title>Exemple avec <function>easter_days</function></title> - <programlisting role="php"> -&lt;?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 */ -?&gt; - </programlisting> - </example> - </para> - <para> - La date de P&agrave;ques a &eacute;t&eacute; fix&eacute;e par le concile - de Nic&eacute;e, en 325 de notre &egrave;re, comme &eacute;tant le dimanche - apr&egrave;s la premi&egrave;re lune pleine qui suit l'&eacute;quinoxe de - printemps. L'&eacute;quinoxe de printemps est consid&eacute;r&eacute; - comme &eacute;tant toujours le 21 mars, ce qui r&eacute;duit le - probl&egrave;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&eacute;es avant 1753), - un cycle de 19 ans suffit pour conna&icirc;tre les date des phases de la - lune. Avec le calendrier gr&eacute;gorien, (&agrave; partir des ann&eacute;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 &eacute;t&eacute; ajout&eacute;s pour rendre - le cycle plus pr&eacute;cis. - </para> - <para> - (Ce code est bas&eacute; sur le programme en C de Simon Kershaw, - &lt;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'&agrave; 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&eacute; de l'&eacute;poque UNIX. (ann&eacute;es gr&eacute;gorienne - entre 1970 et 2037 ou 2440588 &lt;= <parameter>jday</parameter> &lt;= 2465342 ). - </para> - <para> - Voir aussi <function>jdtounix</function>. - </para> - <note> - <para> - <function>jdtounix</function> n'est disponible qu'&agrave; 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 &eacute;t&eacute; compil&eacute;e. Elle est situ&eacute;e dans les sous-dossiers "dl" ou "ext" de votre distribution de PHP. Lisez le fichier README pour plus de d&eacute;tails. </para> <para> L'extension de calendrier propose une s&eacute;rie de fonctions qui simplifient les conversions entre les diff&eacute;rents formats de calendrier. La r&eacute;f&eacute;rence est le nombre de jours du calendrier Julien. C'est le nombre de jours depuis une date qui commence bien au-del&agrave; des dates les plus recul&eacute;es dont on a besoin (situ&eacute;e en 4000 avant J.C.). Pour convertir une date d'un calendrier &agrave; un autre, il faut d'abord la convertir dans ce calendrier, puis convertir le r&eacute;sultat dans le calendrier d&eacute;sir&eacute;. Attention, le nombre de jours du calendrier Julien est un syst&egrave;me tr&egrave;s diff&eacute;rent du calendrier Julien!. Pour plus d'informations (en anglais), reportez-vous &agrave; <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&eacute;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&icirc;ne contenant une date du calendrier gr&eacute;gorien, au format "mois/jour/ann&eacute;e". </para> </refsect1> </refentry> <refentry id="function.gregoriantojd"> <refnamediv> <refname>GregorianToJD</refname> <refpurpose> Convertit une date gr&eacute;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&eacute; pour le calendrier gr&eacute;gorien : 4714 avant JC &agrave; 9999 apr&egrave;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&eacute;&eacute; le 18 octobre 1582 apr&egrave;s J.C. (ou 5 octobre 1582 en calendrier grec). Certains pays ne l'accept&egrave;rent que bien plus tard. Par exemple, les britanniques n'y pass&egrave;rent en 1752, les Russes en 1918 et les Grecs en 1923. La plupart des pays europ&eacute;ens utilisaient le calendrier Julien avant le Gr&eacute;gorien. <example> <title>Fonctions calendrier</title> <programlisting role="php">&lt;?php$jd = gregoriantojd(10,11,1970);echo("$jd\n");$gregorian = jdtogregorian($jd);echo("$gregorian\n");?&gt; </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&icirc;ne contenant la date du calendrier Julien, au format "mois/jour/ann&eacute;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&eacute; du calendrier Julien : 4713 avant JC &agrave; 9999 apr&egrave;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&eacute;&eacute; en 46 avant JC, et ses d&eacute;tails ne furent finalis&eacute;s qu'au plus t&ocirc;t en 8 apr&egrave;s JC, et probablement pas avant le 4&egrave;me si&egrave;cle apr&egrave;s JC. De plus, le d&eacute;but de l'ann&eacute;e variait suivant les peuples, certains n'acceptant pas janvier comme premier mois de l'ann&eacute;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 &agrave; partir de l'an 1 (3761 avant JC), une telle utilisation a peu de sens. </para> <para> Le calendrier juif a &eacute;t&eacute; utilis&eacute; depuis plusieurs dizaines de si&egrave;cles, mais dans les premiers temps, il n'y avait pas de formule pour d&eacute;terminer le d&eacute;but du mois. Un nouveau mois commencait quand une nouvelle lune &eacute;tait observ&eacute;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&ccedil;ais r&eacute;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&ccedil;ais r&eacute;publicain. </para> </refsect1> </refentry> <refentry id="function.frenchtojd"> <refnamediv> <refname>FrenchToJD</refname> <refpurpose> Convertit une date du calendrier fran&ccedil;ais r&eacute;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&ccedil;ais r&eacute;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 &agrave; 22 September 1806 en calendrier gr&eacute;gorien). Cela couvre plus que la dur&eacute;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&icirc;ne contenant le nom du mois. <parameter>mode</parameter> indique de quel calendrier d&eacute;pend ce mois, et quel type de nom doit &ecirc;tre retourn&eacute;. <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&eacute;gorien - abr&eacute;g&eacute;</entry> </row> <row> <entry>1</entry> <entry>Gr&eacute;gorien</entry> </row> <row> <entry>2</entry> <entry>Julien - abr&eacute;g&eacute;</entry> </row> <row> <entry>3</entry> <entry>Julien</entry> </row> <row> <entry>4</entry> <entry>Juif</entry> </row> <row> <entry>5</entry> <entry>R&eacute;publicain fran&ccedil;ais</entry> </row> </tbody> </tgroup> </table> </para> </refsect1> </refentry> <refentry id="function.jddayofweek"> <refnamediv> <refname>JDDayOfWeek</refname> <refpurpose> Retourne le num&eacute;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&eacute;ro du jour de la semaine. Peut retourner une cha&icirc;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&eacute;ro du jour comme un entier (0=dimanche, 1=lundi, etc.) </entry> </row> <row> <entry>1</entry> <entry>Retourne une cha&icirc;ne contenant le nom du jour (anglais gr&eacute;gorien) </entry> </row> <row> <entry>2</entry> <entry>Retourne une cha&icirc;ne contenant le nom abr&eacute;g&eacute; du jour de la semaine (anglais gr&eacute;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&acirc;ques, &agrave; 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&acirc;ques, &agrave; minuit, pour une ann&eacute;e donn&eacute;e. Si l'ann&eacute;e n'est pas pr&eacute;cis&eacute;e, c'est l'ann&eacute;e en cours qui est utilis&eacute;e. </para> <para> <emphasis>ATTENTION:</emphasis> <function>easter_date</function> g&eacute;n&egrave;re une alerte (Warning) si la date tombe hors de la zone de validit&eacute; des timestamp UNIX (i.e. avant 1970 ou apr&egrave;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&acirc;ques a &eacute;t&eacute; fix&eacute;e par le concile de Nic&eacute;e, en 325 de notre &egrave;re, comme &eacute;tant le dimanche apr&egrave;s la premi&egrave;re pleine lune qui suit l'&eacute;quinoxe de printemps. L'&eacute;quinoxe de printemps est consid&eacute;r&eacute; comme &eacute;tant toujours le 21 mars, ce qui r&eacute;duit le probl&egrave;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&eacute;es avant 1753), un cycle de 19 ans suffit pour conna&icirc;tre les date des phases de la lune. Avec le calendrier gr&eacute;gorien, (&agrave; partir des ann&eacute;es 1753, con&ccedil;u par Clavius et Lilius, puis introduit par le pape Gr&eacute;goire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont &eacute;t&eacute; ajout&eacute;s pour rendre le cycle plus pr&eacute;cis. </para> <para> (Ce code est bas&eacute; sur le programme en C de Simon Kershaw, &lt;webmaster&#64;ely.anglican.org>) </para> <para> Voir <function>easter_days</function> pour les calculs de date de P&acirc;ques avant 1970 et apr&egrave;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&acirc;ques, pour une ann&eacute;e donn&eacute;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&acirc;ques, pour une ann&eacute;e donn&eacute;e. Si l'ann&eacute;e n'est pas pr&eacute;cis&eacute;e, l'ann&eacute;e en cours est utilis&eacute;e par d&eacute;faut. </para> <para> <function>easter_days</function> peut &ecirc;tre utilis&eacute;e &agrave; la place de <function>easter_date</function> pour calculer la date de P&acirc;ques, pour les ann&eacute;es qui tombent hors de l'intervalle de validit&eacute; des timestamps UNIX (i.e. avant 1970 ou apr&egrave;s 2037). <example> <title>Exemple avec <function>easter_days</function></title> <programlisting role="php">&lt;?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 */?&gt; </programlisting> </example> </para> <para> La date de P&acirc;ques a &eacute;t&eacute; fix&eacute;e par le concile de Nic&eacute;e, en 325 de notre &egrave;re, comme &eacute;tant le dimanche apr&egrave;s la premi&egrave;re pleine lune qui suit l'&eacute;quinoxe de printemps. L'&eacute;quinoxe de printemps est consid&eacute;r&eacute; comme &eacute;tant toujours le 21 mars, ce qui r&eacute;duit le probl&egrave;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&eacute;es avant 1753), un cycle de 19 ans suffit pour conna&icirc;tre les date des phases de la lune. Avec le calendrier gr&eacute;gorien, (&agrave; partir des ann&eacute;es 1753, con&ccedil;u par Clavius et Lilius, puis introduit par le pape Gr&eacute;goire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont &eacute;t&eacute; ajout&eacute;s pour rendre le cycle plus pr&eacute;cis. </para> <para> (Ce code est bas&eacute; sur le programme en C de Simon Kershaw, &lt;webmaster&#64;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'&agrave; 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&eacute; de l'&eacute;poque UNIX. (ann&eacute;es gr&eacute;goriennes entre 1970 et 2037 ou 2440588 &lt;= <parameter>jday</parameter> &lt;= 2465342 ). </para> <para> Voir aussi <function>jdtounix</function>. </para> <note> <para> <function>jdtounix</function> n'est disponible qu'&agrave; 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&eacute; &agrave; d&eacute;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&eacute;e par <ulink url="&url.redhat;">RedHat</ulink> - au probl&egrave;me de l'intermediaire, lors du traitement de transactions - de cartes de cr&eacute;dit. Il vous permet travailler directment avec - les maisons de cr&eacute;dits, via votre bo&icirc;te *nix et un modem. En utilisant - le module CCVS pour PHP, vous pouvez effectuer des transactions - avec les cartes de cr&eacute;dits, directement depuis vos scripts PHP via - CCVS. La suite vous montrera comment proc&eacute;der. - </simpara> - <simpara> - Pour activer le support CCVS de PHP, commencez par v&eacute;rifier votre - installation CCVS. Vous devez configurer PHP avec l'option <option - role="configure">--with-ccvs</option>. Si vous utilisez cette - option sans sp&eacute;cifier le chemin de votre installation, PHP essaiera - de la trouver &agrave; sa position par d&eacute;faut (/usr/local/ccvs). Si CCVS est - install&eacute; dans un autre dossier, lancez la configuration avec : - <option role="configure">--with-ccvs=$ccvs_path</option>, o&ugrave; $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&eacute;mon ccvsd doit &ecirc;tre disponible sur votre configuration, - et qu'il soit accessible &agrave; vos scripts PHP. Assurez vous aussi que - l'utilisateur qui ex&eacute;cute les scripts PHP est le m&ecirc;me que celui qui - a install&eacute; CCVS (i.e. si vous avez install&eacute; CCVS avec l'utilisateur 'ccvs', - vos scripts PHP doivent tourner aussi en 'ccvs'). - </simpara> - <simpara> - Plus de d&eacute;tails sur CCVS sont disponibles &agrave; <ulink - url="&url.redhat.ccvs;">&url.redhat.ccvs;</ulink>. - </simpara> - <simpara> - Cette documentation est en chantier. Jusqu'&agrave; sa finalisation, RedHat - entretient une version l&eacute;g&egrave;rement d&eacute;mod&eacute;e - mais bien pratique &agrave; - <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&eacute;e par <ulink url="&url.redhat;">RedHat</ulink> + au probl&egrave;me de l'interm&eacute;diaire, lors du traitement de transactions + de cartes de cr&eacute;dit. Il vous permet travailler directement avec + les maisons de cr&eacute;dits, via votre bo&icirc;te *nix et un modem. En utilisant + le module CCVS pour PHP, vous pouvez effectuer des transactions + avec les cartes de cr&eacute;dits, directement depuis vos scripts PHP via + CCVS. La suite vous montrera comment proc&eacute;der. + </simpara> + <simpara> + Pour activer le support CCVS de PHP, commencez par v&eacute;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&eacute;cifier le chemin de votre installation, PHP essaiera + de la trouver &agrave; sa position par d&eacute;faut (/usr/local/ccvs). Si CCVS est + install&eacute; dans un autre dossier, lancez la configuration avec : + <link linkend="install.configure.with-ccvs"><option role="configure">--with-ccvs=$ccvs_path</option></link>, + o&ugrave; $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&eacute;mon ccvsd doit &ecirc;tre disponible sur votre configuration, + et qu'il soit accessible &agrave; vos scripts PHP. Assurez-vous aussi que + l'utilisateur qui ex&eacute;cute les scripts PHP est le m&ecirc;me que celui qui + a install&eacute; CCVS (i.e. si vous avez install&eacute; CCVS avec l'utilisateur 'ccvs', + vos scripts PHP doivent tourner aussi en 'ccvs'). + </simpara> + <simpara> + Plus de d&eacute;tails sur CCVS sont disponibles &agrave; <ulink + url="&url.redhat.ccvs;">&url.redhat.ccvs;</ulink>. + </simpara> + <simpara> + Cette documentation est en chantier. Jusqu'&agrave; sa finalisation, RedHat + entretient une version l&eacute;g&egrave;rement d&eacute;mod&eacute;e + mais bien pratique &agrave; + <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&eacute;rer les classes et les objets. - Vous pouvez notamment conna&icirc;tre le nom de la classe d'un - objet, ses membres et ses m&eacute;thodes, et tous les objets - parents (les classes qui sont &eacute;tendues par la classe d'un objet). - </para> - </sect2> - <sect2 id="classobj.example"> - <title>Exemple d'utilisation</title> - <para> - Dans cet exemple, on d&eacute;finit une classe de base, et une - extension. La classe de base d&eacute;finit un l&eacute;gume, s'il est - mangeable ou pas, et sa couleur. La sous-classe - <varname>epinard</varname> ajoute une m&eacute;thode pour le cuisiner, - et une autre pour savoir s'il est cuisin&eacute;. - </para> - <para> - <example> - <title>classes.inc</title> - <programlisting role="php"> -&lt;?php -// classe de base, avec ses membres et ses m&eacute;thodes -class Legume { - var $mangeable; - var $couleur; - function legume( $mangeable, $couleur=&quot;green&quot; ) { - $this-&gt;mangeable = $mangeable; - $this-&gt;couleur = $couleur; - } - function est_mangeable() { - return $this-&gt;mangeable; - } - function quelle_couleur() { - return $this-&gt;couleur; - } -} // fin de la classe Legume -// extend la classe de base -class Epinard extends Legume { - var $cuit = <literal>FALSE</literal>; - function Epinard() { - $this-&gt;Legume( <literal>TRUE</literal>, &quot;green&quot; ); - } - function cuisine() { - $this-&gt;cuit = <literal>TRUE</literal>; - } - function est_cuit() { - return $this-&gt;cuit; - } -} // fin de la classe Epinard -?&gt; - </programlisting> - </example> - </para> - <para> - Lorsqu'on instantie deux objets de ces classes, et qu'on affiche - leurs informations, on affiche aussi leur h&eacute;ritage. On d&eacute;finit ici - des utilitaires qui servent essentiellement &agrave; afficher ces - informations proprement. - </para> - <para> - <example> - <title>test_script.php</title> - <programlisting role="php"> -&lt;pre&gt; -&lt;?php - include &quot;classes.inc&quot;; -// utilitaires - function print_vars($obj) { - $arr = get_object_vars($obj); - while (list($prop, $val) = each($arr)) - echo &quot;\t$prop = $val\n&quot;; - } - function print_methods($obj) { - $arr = get_class_methods(get_class($obj)); - foreach ($arr as $method) - echo &quot;\tfunction $method()\n&quot;; - } - function class_parentage($obj, $class) { - global $$obj; - if (is_subclass_of($$obj, $class)) { - echo &quot;L'objet $obj belongs to class &quot;.get_class($$obj); - echo &quot; est une sous-classe de $class\n&quot;; - } else { - echo &quot;L'objet $obj n'est pas une sous classe $class\n&quot;; - } - } -// instantie 2 objets - $legume = new Legume(TRUE,&quot;blue&quot;); - $feuilles = new Epinard(); -// affiche les informations sur ces objets - echo &quot;legume: CLASS &quot;.get_class($legume).&quot;\n&quot;; - echo &quot;feuilles: CLASS &quot;.get_class($feuilles); - echo &quot;, PARENT &quot;.get_parent_class($feuilles).&quot;\n&quot;; -// affiche les propri&eacute;t&eacute;s du l&eacute;gume - echo &quot;\nl&eacute;gume: Propri&eacute;t&eacute;s \n&quot;; - print_vars($legume); -// et les m&eacute;thodes de "feuilles" - echo &quot;\nfeuilles: Methods\n&quot;; - print_methods($feuilles); - echo &quot;\nParent&eacute;e:\n&quot;; - class_parentage(&quot;feuilles&quot;, &quot;Epinard&quot;); - class_parentage(&quot;feuilles&quot;, &quot;Legume&quot;); -?&gt; -&lt;/pre&gt; - </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&egrave;re partie du script - va afficher : - </para> - <para> - <informalexample> - <screen> - [...] - Parent&eacute;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&eacute;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&eacute;thode <parameter>method_name</parameter> depuis l'objet - <parameter>obj</parameter>. Un exemple d'utilisation de cet objet - est pr&eacute;sent&eacute; ci-dessous, o&ugrave; une classe est d&eacute;finie, puis instanti&eacute;e. - On utilise alors <function>call_user_method</function> pour appeler - indirectement les m&eacute;thodes <varname>print_info</varname>. - <informalexample> - <programlisting role="php"> -&lt;?php -class Pays { - var $NOM; - var $TLD; - function Pays($nom, $tld) { - $this-&gt;NOM = $nom; - $this-&gt;TLD = $tld; - } - function print_info($prestr=&quot;&quot;) { - echo $prestr.&quot;Pays: &quot;.$this-&gt;NOM.&quot;\n&quot;; - echo $prestr.&quot;Nom de domaine: &quot;.$this-&gt;TLD.&quot;\n&quot;; - } -} -$unPays = new Pays(&quot;P&eacute;rou&quot;,&quot;pe&quot;); -echo &quot;* Appel de la m&eacute;thode directement\n&quot;; -$unPays-&gt;print_info(); -echo &quot;\n* Appel de la m&eacute;thode indirectement\n&quot;; -call_user_method (&quot;print_info&quot;, $unPays, &quot;\t&quot;); -?&gt; - </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&eacute;thode utilisateur avec un tableau de param&egrave;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&eacute;thode - <parameter>method_name</parameter> de l'object <parameter>obj</parameter>, - en utilisant les param&egrave;tres <parameter>paramarr</parameter>, rassembl&eacute;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 &eacute;t&eacute; ajout&eacute;e en version - PHP 4.05. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.class-exists"> - <refnamediv> - <refname>class_exists</refname> - <refpurpose>V&eacute;rifie qu'une classe a &eacute;t&eacute; d&eacute;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 &eacute;t&eacute; d&eacute;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&eacute;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&eacute;thodes de la classe <parameter>class_name</parameter>. - </para> - <note> - <para> - A partir de PHP 4.0.6, vous pouvez sp&eacute;cifier l'objet lui-m&ecirc;me, au lieu - de sa classe <parameter>class_name</parameter>. Par exemple : - <informalexample> - <programlisting role="php"> -&lt;?php - $class_methods = get_class_methods($my_class); -?&gt; - </programlisting> - </informalexample> - </para> - </note> - <para> - <example> - <title>Exemple avec <function>get_class_methods</function></title> - <programlisting role="php"> -&lt;?php -class myclass { - // constructeur - function maclasse() { - return(TRUE); - } - // m&eacute;thode 1 - function myfunc1() { - return(TRUE); - } - // m&eacute;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"; -} -?&gt; - </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&eacute;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&eacute;faut des attributs de la classe - <parameter>class_name</parameter>. - </para> - <note> - <para> - Les variables de classe qui ne sont pas encore initialis&eacute;es ne seront pas - retourn&eacute;es par <function>get_class_vars</function>. - </para> - </note> - <para> - <example> - <title>Exemple <function>get_class_vars</function></title> - <programlisting role="php"> -&lt;?php -class maclasse { - var $var1; // Pas de valeur par d&eacute;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"; -} -?&gt; - </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&eacute;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&eacute;clar&eacute;es dans le script courant. - </para> - <note> - <para> - En PHP 4.0.1pl2, trois classes suppl&eacute;mentaires sont retourn&eacute;es, au - d&eacute;but de ce tableau : <classname>stdClass</classname> (d&eacute;finie dans - <filename>Zend/zend.c</filename>), - <classname>OverloadedTestClass</classname> (d&eacute;finie dans - <filename>ext/standard/basic_functions.c</filename>) - et <classname>Directory</classname> - (d&eacute;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&eacute;t&eacute;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&eacute;t&eacute;s de l'objet <parameter>obj</parameter>. - Les cl&eacute;s du tableau sont les noms des propri&eacute;t&eacute;s - de l'objet.Si des variables d&eacute;clar&eacute;es dans la classe de - l'objet <parameter>obj</parameter>, n'ont pas &eacute;t&eacute; - assign&eacute;es, elles ne seront pas retourn&eacute;es dans le tableau. - <example> - <title>Exemple avec <function>get_object_vars</function></title> - <programlisting role="php"> -&lt;?php -class Point2D { - var $x, $y; - var $nom; - function Point2D($x, $y) { - $this-&gt;x = $x; - $this-&gt;y = $y; - } - function donne_nom($nom) { - $this-&gt;nom = $nom; - } - function LitPoint() { - return array("x" -&gt; $this-&gt;x, - "y" -&gt; $this-&gt;y, - "nom" -&gt; $this-&gt;nom); - } -} -$p1 = new Point2D(1.233, 3.445); -print_r(get_object_vars($p1)); -// "$nom" est d&eacute;clar&eacute;, mais non d&eacute;fini -// Array -// ( -// [x] -&gt; 1.233 -// [y] -&gt; 3.445 -// ) -$p1-&gt;setnom("point #1"); -print_r(get_object_vars($p1)); -// Array -// ( -// [x] -&gt; 1.233 -// [y] -&gt; 3.445 -// [nom] -&gt; point #1 -// ) -?&gt; - </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&eacute;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&eacute;rifie que la m&eacute;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&eacute;thode <parameter>method_name</parameter> a - &eacute;t&eacute; d&eacute;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&eacute;rer les classes et les objets. Vous pouvez notamment conna&icirc;tre le nom de la classe d'un objet, ses membres et ses m&eacute;thodes, et tous les objets parents (les classes qui sont &eacute;tendues par la classe d'un objet). </para> </sect2> <sect2 id="classobj.example"> <title>Exemple d'utilisation</title> <para> Dans cet exemple, on d&eacute;finit une classe de base, et une extension. La classe de base d&eacute;finit un l&eacute;gume, s'il est mangeable ou pas, et sa couleur. La sous-classe <varname>epinard</varname> ajoute une m&eacute;thode pour le cuisiner, et une autre pour savoir s'il est cuisin&eacute;. </para> <para> <example> <title>classes.inc</title> <programlisting role="php">&lt;?php// classe de base, avec ses membres et ses m&eacute;thodesclass Legume { var $mangeable; var $couleur; function legume( $mangeable, $couleur=&quot;green&quot; ) { $this-&gt;mangeable = $mangeable; $this-&gt;couleur = $couleur; } function est_mangeable() { return $this-&gt;mangeable; } function quelle_couleur() { return $this-&gt;couleur; }} // fin de la classe Legume// extend la classe de baseclass Epinard extends Legume { var $cuit = <literal>FALSE</literal>; function Epinard() { $this-&gt;Legume( <literal>TRUE</literal>, &quot;green&quot; ); } function cuisine() { $this-&gt;cuit = <literal>TRUE</literal>; } function est_cuit() { return $this-&gt;cuit; }} // fin de la classe Epinard?&gt; </programlisting> </example> </para> <para> Lorsqu'on instantie deux objets de ces classes, et qu'on affiche leurs informations, on affiche aussi leur h&eacute;ritage. On d&eacute;finit ici des utilitaires qui servent essentiellement &agrave; afficher ces informations proprement. </para> <para> <example> <title>test_script.php</title> <programlisting role="php">&lt;pre&gt;&lt;?php include &quot;classes.inc&quot;;// utilitaires function print_vars($obj) { $arr = get_object_vars($obj); while (list($prop, $val) = each($arr)) echo &quot;\t$prop = $val\n&quot;; } function print_methods($obj) { $arr = get_class_methods(get_class($obj)); foreach ($arr as $method) echo &quot;\tfunction $method()\n&quot;; } function class_parentage($obj, $class) { global $$obj; if (is_subclass_of($$obj, $class)) { echo &quot;L'objet $obj belongs to class &quot;.get_class($$obj); echo &quot; est une sous-classe de $class\n&quot;; } else { echo &quot;L'objet $obj n'est pas une sous classe $class\n&quot;; } }// instantie 2 objets $legume = new Legume(TRUE,&quot;blue&quot;); $feuilles = new Epinard();// affiche les informations sur ces objets echo &quot;legume: CLASS &quot;.get_class($legume).&quot;\n&quot;; echo &quot;feuilles: CLASS &quot;.get_class($feuilles); echo &quot;, PARENT &quot;.get_parent_class($feuilles).&quot;\n&quot;;// affiche les propri&eacute;t&eacute;s du l&eacute;gume echo &quot;\nl&eacute;gume: Propri&eacute;t&eacute;s \n&quot;; print_vars($legume);// et les m&eacute;thodes de "feuilles" echo &quot;\nfeuilles: Methods\n&quot;; print_methods($feuilles); echo &quot;\nParent&eacute;e:\n&quot;; class_parentage(&quot;feuilles&quot;, &quot;Epinard&quot;); class_parentage(&quot;feuilles&quot;, &quot;Legume&quot;);?&gt;&lt;/pre&gt; </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&egrave;re partie du script va afficher : </para> <para> <informalexample> <screen> [...] Parent&eacute;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&eacute;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&eacute;thode <parameter>method_name</parameter> depuis l'objet <parameter>obj</parameter>. Un exemple d'utilisation de cet objet est pr&eacute;sent&eacute; ci-dessous, o&ugrave; une classe est d&eacute;finie, puis instanti&eacute;e. On utilise alors <function>call_user_method</function> pour appeler indirectement les m&eacute;thodes <varname>print_info</varname>. <informalexample> <programlisting role="php">&lt;?phpclass Pays { var $NOM; var $TLD; function Pays($nom, $tld) { $this-&gt;NOM = $nom; $this-&gt;TLD = $tld; } function print_info($prestr=&quot;&quot;) { echo $prestr.&quot;Pays: &quot;.$this-&gt;NOM.&quot;\n&quot;; echo $prestr.&quot;Nom de domaine: &quot;.$this-&gt;TLD.&quot;\n&quot;; }}$unPays = new Pays(&quot;P&eacute;rou&quot;,&quot;pe&quot;);echo &quot;* Appel de la m&eacute;thode directement\n&quot;;$unPays-&gt;print_info();echo &quot;\n* Appel de la m&eacute;thode indirectement\n&quot;;call_user_method (&quot;print_info&quot;, $unPays, &quot;\t&quot;);?&gt; </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&eacute;thode utilisateur avec un tableau de param&egrave;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&eacute;thode <parameter>method_name</parameter> de l'object <parameter>obj</parameter>, en utilisant les param&egrave;tres <parameter>paramarr</parameter>, rassembl&eacute;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 &eacute;t&eacute; ajout&eacute;e en version PHP 4.05. </para> </note> </refsect1> </refentry> <refentry id="function.class-exists"> <refnamediv> <refname>class_exists</refname> <refpurpose>V&eacute;rifie qu'une classe a &eacute;t&eacute; d&eacute;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 &eacute;t&eacute; d&eacute;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&eacute;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&eacute;thodes de la classe <parameter>class_name</parameter>. </para> <note> <para> A partir de PHP 4.0.6, vous pouvez sp&eacute;cifier l'objet lui-m&ecirc;me, au lieu de sa classe <parameter>class_name</parameter>. Par exemple : <informalexample> <programlisting role="php">&lt;?php $class_methods = get_class_methods($my_class);?&gt; </programlisting> </informalexample> </para> </note> <para> <example> <title>Exemple avec <function>get_class_methods</function></title> <programlisting role="php">&lt;?phpclass myclass { // constructeur function maclasse() { return(TRUE); } // m&eacute;thode 1 function myfunc1() { return(TRUE); } // m&eacute;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";}?&gt; </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&eacute;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&eacute;faut des attributs de la classe <parameter>class_name</parameter>. </para> <note> <para> Les variables de classe qui ne sont pas encore initialis&eacute;es ne seront pas retourn&eacute;es par <function>get_class_vars</function>. </para> </note> <para> <example> <title>Exemple <function>get_class_vars</function></title> <programlisting role="php">&lt;?phpclass maclasse { var $var1; // Pas de valeur par d&eacute;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";}?&gt; </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&eacute;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&eacute;clar&eacute;es dans le script courant. </para> <note> <para> En PHP 4.0.1pl2, trois classes suppl&eacute;mentaires sont retourn&eacute;es, au d&eacute;but de ce tableau : <classname>stdClass</classname> (d&eacute;finie dans <filename>Zend/zend.c</filename>), <classname>OverloadedTestClass</classname> (d&eacute;finie dans <filename>ext/standard/basic_functions.c</filename>) et <classname>Directory</classname> (d&eacute;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&eacute;t&eacute;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&eacute;t&eacute;s de l'objet <parameter>obj</parameter>. Les cl&eacute;s du tableau sont les noms des propri&eacute;t&eacute;s de l'objet.Si des variables d&eacute;clar&eacute;es dans la classe de l'objet <parameter>obj</parameter>, n'ont pas &eacute;t&eacute; assign&eacute;es, elles ne seront pas retourn&eacute;es dans le tableau. <example> <title>Exemple avec <function>get_object_vars</function></title> <programlisting role="php">&lt;?phpclass Point2D { var $x, $y; var $nom; function Point2D($x, $y) { $this-&gt;x = $x; $this-&gt;y = $y; } function donne_nom($nom) { $this-&gt;nom = $nom; } function LitPoint() { return array("x" -&gt; $this-&gt;x, "y" -&gt; $this-&gt;y, "nom" -&gt; $this-&gt;nom); }}$p1 = new Point2D(1.233, 3.445);print_r(get_object_vars($p1));// "$nom" est d&eacute;clar&eacute;, mais non d&eacute;fini// Array// (// [x] -&gt; 1.233// [y] -&gt; 3.445// )$p1-&gt;setnom("point #1");print_r(get_object_vars($p1));// Array// (// [x] -&gt; 1.233// [y] -&gt; 3.445// [nom] -&gt; point #1// )?&gt; </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&eacute;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&eacute;rifie que la m&eacute;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&eacute;thode <parameter>method_name</parameter> a &eacute;t&eacute; d&eacute;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 &eacute;t&eacute; ajout&eacute;es dans PHP 4. - </simpara> - </partintro> - <refentry id="function.com-load"> - <refnamediv> - <refname>com_load</refname> - <refpurpose> - Cr&eacute;e une r&eacute;f&eacute;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&eacute;e une nouvelle r&eacute;f&eacute;rence - au composant COM <parameter>module_name</parameter>, et - retourne une r&eacute;f&eacute;rence dessus. - <function>com_load</function> retourne - &false; en cas d'&eacute;chec. - </para> - </refsect1> - </refentry> - <refentry id="function.com-invoke"> - <refnamediv> - <refname>com_invoke</refname> - <refpurpose> - Appelle une m&eacute;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&eacute;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&eacute;sultat de la fonction <parameter>function_name</parameter> - en cas de succ&egrave;s. - </para> - </refsect1> - </refentry> - <refentry id="function.com-propget"> - <refnamediv> - <refname>com_propget</refname> - <refpurpose> - Lit la valeur d'un propri&eacute;t&eacute; 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&eacute;t&eacute; 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&eacute;t&eacute; - <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&eacute;t&eacute; 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&eacute;t&eacute; 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&eacute;t&eacute; 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&eacute;t&eacute; <parameter>property</parameter> du - composante COM <parameter>com_object</parameter> par - <parameter>value</parameter>. <function>com_set</function> retourne - &true; en cas de succ&egrave;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 &eacute;t&eacute; ajout&eacute;es &agrave; 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&eacute;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&egrave;tres : <variablelist> <varlistentry><term>module_name</term> <listitem> <simpara> nom ou class-id du composant deamnd&eacute;. </simpara> </listitem> </varlistentry> <varlistentry><term>server_name</term> <listitem> <simpara> nom du serveur DCOM, aupr&egrave;s duquel le composant doit &ecirc;tre sollicit&eacute;. Si ce param&egrave;tre est &null;, <literal>localhost</literal> sera utilis&eacute;. 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&eacute;cifie le code qui est utilis&eacute; pour transformer les cha&icirc;nes de caract&egrave;res PHP en cha&icirc;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">&lt;?php// d&eacute;marrage de Word$word = new COM("word.application") or die("Unable to instanciate Word");print "Word lanc&eacute;, 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&eacute;ration des ressources$word->Release();$word = null;?&gt; </programlisting> </example> </para> <para> <example id="example.com2"> <title>Example COM (2)</title> <programlisting role="php">&lt;?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 &lt; $num_columns; $i++){ $fld[$i] = $rs->Fields($i);}$rowcount = 0;while (!$rs->EOF){ for ($i=0; $i &lt; $num_columns; $i++) { echo $fld[$i]->value . "\t"; } echo "\n"; $rowcount++; // incr&eacute;mente le nombre de lignes $rs->MoveNext();}$rs->Close();$conn->Close();$rs->Release();$conn->Release();$rs = null;$conn = null;?&gt; </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&egrave;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&eacute;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 &ecirc;tre combin&eacute;es avec <constant>VT_BYREF</constant> pour sp&eacute;cifier que c'est une valeur. Si omis le type de <parameter>value</parameter> est utilis&eacute;. Consultez la librairy MSDN pour plus de d&eacute;tails. </simpara> </listitem> </varlistentry> <varlistentry><term>codepage</term> <listitem> <simpara> sp&eacute;cifie le code qui est utilis&eacute; pour transformer les cha&icirc;nes de caract&egrave;res PHP en cha&icirc;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&eacute;e une r&eacute;f&eacute;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&eacute;e une nouvelle r&eacute;f&eacute;rence au composant COM <parameter>module_name</parameter>, et retourne une r&eacute;f&eacute;rence dessus. <function>com_load</function> retourne &false; en cas d'&eacute;chec. </para> </refsect1> </refentry> <refentry id="function.com-invoke"> <refnamediv> <refname>com_invoke</refname> <refpurpose> Appelle une m&eacute;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&eacute;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&eacute;sultat de la fonction <parameter>function_name</parameter> en cas de succ&egrave;s. </para> </refsect1> </refentry> <refentry id="function.com-propget"> <refnamediv> <refname>com_propget</refname> <refpurpose> Lit la valeur d'un propri&eacute;t&eacute; 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&eacute;t&eacute; 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&eacute;t&eacute; <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&eacute;t&eacute; 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&eacute;t&eacute; 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&eacute;t&eacute; 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&eacute;t&eacute; <parameter>property</parameter> du composante COM <parameter>com_object</parameter> par <parameter>value</parameter>. <function>com_set</function> retourne &true; en cas de succ&egrave;s, et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.com-addref"> <refnamediv> <refname>com_addref</refname> <refpurpose> Incr&eacute;mente le compteur de r&eacute;f&eacute;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&eacute;mente le compteur de r&eacute;f&eacute;rences. </para> </refsect1> </refentry> <refentry id="function.com-release"> <refnamediv> <refname>com_release</refname> <refpurpose> D&eacute;cr&eacute;mente le compteur de r&eacute;f&eacute;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&eacute;cr&eacute;mente le compteur de r&eacute;f&eacute;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&eacute;er des documents PDF avec PHP. Cette - librairie est disponible &agrave; <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&ocirc;t pdflib - de Thomas Merz, qui est aussi tr&egrave;s puissante. - Les fonctionnalit&eacute;s de ClibPDF et ses API sont tr&egrave;s - similaires &agrave; celles de Thomas Merz's pdflib mais, selon FastIO, - ClibPDF est plus rapide, et cr&eacute;e des documents plus compacts. - Cela peut avoir chang&eacute; depuis la version 2.0 de pdflib. Un test - de vitesse (avec pdfclock.c issue des exemples de pdflib 2.0 - transform&eacute; en script PHP) ne montre aucune diff&eacute;rence - de vitesse. La taille des fichiers est similaire si la compression - n'est pas utilis&eacute;e. Il vaut mieux alors essayer les deux, et choisir - celui qui vous convient le mieux. - </simpara> - <simpara> - Cette documentation devrait &ecirc;tre lue avec le manuel ClibPDF - sous la main, car il est beaucoup plus d&eacute;taill&eacute;. - </simpara> - <simpara> - Beaucoup de fonctions sont natives de ClibPDF et se retrouvent dans - le module PHP, et tout comme pdflib, elles ont le m&ecirc;me nom. - Toutes les fonctions, hormis <function>cpdf_open</function> utilisent - un pointeur sur un document comme premier param&egrave;tre. Actuellement, - ce pointeur n'est pas utilis&eacute; en interne, car ClibPDF ne supporte - pas la cr&eacute;ation de plusieurs documents PDF simultan&eacute;ment. - En fait, il ne vaut mieux pas l'envisager, car les r&eacute;sultats sont - al&eacute;atoires. Je ne veux m&ecirc;me pas imaginer les probl&egrave;mes - qui pourrait se poser avec les environnements multi-t&acirc;ches. Selon l'auteur - de ClibPDF, cette situation va changer dans les procha&icirc;nes versions - (lorsque cette documentation a &eacute;t&eacute; traduite, c'&eacute;tait - la version 1.10). Si vous avez besoin de cette fonctionnalit&eacute;, - utilisez pdflib. - </simpara> - <note> - <simpara> - La fonction <function>cpdf_set_font</function> a chang&eacute; - depuis le PHP 3.0 pour supporter les polices asiatiques. Le - param&egrave;tre d'encodage n'est plus un entier, mais une cha&icirc;ne. - </simpara> - </note> - <simpara> - Un des gros avantage de ClibPDF sur pdflib est la possibilit&eacute; de - cr&eacute;er compl&eacute;tement un document sans passer par des fichiers - temporaires. Il est aussi possible d'utiliser des coordonn&eacute;es - avec une unit&eacute; de longeur pr&eacute;d&eacute;finie. C'est une - fonctionnalit&eacute; bien pratique mais qui peut &ecirc;tre - simul&eacute;e avec <function>pdf_translate</function>. - </simpara> - <simpara> - Un autre atout de ClibPDF est que chaque page peut &ecirc;tre modifi&eacute;e &agrave; tout moment - m&ecirc;me si une nouvelle page a &eacute;t&eacute; 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&egrave;s simples d'emploi. - Le plus difficile est probablement de cr&eacute;er un document - PDF simple. L'exemple suivant devrait vous aider &agrave; - d&eacute;marrer. La page contient du texte qui utilise la - police "Times-Roman" en taille 30, outlined. Le texte est soulign&eacute;. - </simpara> - <example> - <title>Exemple simple ClibPDF</title> - <programlisting role="php"> -&lt;?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); -?&gt; - </programlisting> - </example> - <simpara> - La distribution pdflib contient un exemple plus complet, qui - cr&eacute;e des s&eacute;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"> -&lt;?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-- &gt; 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 &lt; 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 &lt; 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); -?&gt; - </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 - &ecirc;tre appel&eacute; avant <function>cpdf_open</function> - pour &ecirc;tre effective. Elle fixe les limites de tous - les documents ouverts apr&egrave;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&eacute;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&eacute;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&eacute;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&eacute; - 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&egrave;tre <parameter>compression</parameter> active ou pas - la compression, suivant qu'il vaut 0 ou 1. Le deuxi&egrave;me param&egrave;tre, - optionnel, choisit le fichier de destination du document. Si il est omis, le - document sera &eacute;crit en m&eacute;moire, et pourra &ecirc;tre &eacute;crit - dans un fichier avec <function>cpdf_save_to_file</function> ou envoy&eacute; - &agrave; l'affichage avec <function>cpdf_output_buffer</function>. - <note> - <simpara> - La valeur retourn&eacute;e sera n&eacute;cessaire pour les autres - fonctions de ClibPDF comme premier param&egrave;tre. - </simpara> - <simpara> - La librairie ClibPDF prend le nom de fichier "-" comme synonyme de stdout. - Si PHP est compil&eacute; comme un module apache, cela ne fonctionnera pas, - car la m&eacute;thode d'envoie des donn&eacute;es de ClibPDF ne fonctionne - pas avec Apache. Vous pouvez r&eacute;soudre ce probl&egrave;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 - &ecirc;tre la derni&egrave;re fonction appel&eacute;e, et elle - appara&icirc;t m&ecirc;me apr&egrave;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&eacute;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&egrave;tre, optionnel, <parameter>unit</parameter>, fixe - l'unit&eacute; pour le syst&egrave;me de coordonn&eacute;es. - Cette valeur doit &ecirc;tre un nombre de points postscript, - par unit&eacute;. Etant donn&eacute; que un pouce (inch) vaut - 72 points, une valeur de 72 vaudra un pouce (inch). Par - d&eacute;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&eacute;ro <parameter>page_number</parameter>. - <function>cpdf_finalize_page</function> ne fait qu'une sauvegarde - m&eacute;moire. Les pages termin&eacute;es prennent moins de - place, mais ne peuvent plus &ecirc;tre modifi&eacute;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&egrave;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&eacute;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&eacute;moire de stdout. Le document doit avoir - &eacute;t&eacute; cr&eacute;&eacute; en m&eacute;moire, ce qui - est le cas si <function>cpdf_open</function> a &eacute;t&eacute; - appel&eacute;e dans param&egrave;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> &eacute;crit un document - PDF dans un fichier, s'il a &eacute;t&eacute; cr&eacute;&eacute; - en m&eacute;moire. <function>cpdf_save_to_file</function> n'est - pas n&eacute;cessaire si un nom de fichier a &eacute;t&eacute; - fourni lors de l'appel &agrave; <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&uacute; toutes les procha&icirc;nes op&eacute;rations - vont avoir lieu. On peut changer de page jusqu'&agrave; ce qu'une - page soit termin&eacute;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&eacute;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&eacute;marre une section de texte. - Elle doit &ecirc;tre termin&eacute;e avec <function>cpdf_end_text</function>. - <example> - <title>Affichage de texte</title> - <programlisting role="php"> -&lt;?php -cpdf_begin_text($pdf); -cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding"); -cpdf_text($pdf, 100, 100, "Some text"); -cpdf_end_text($pdf) -?&gt; - </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&eacute;e avec <function>cpdf_begin_text</function>. - <example> - <title>Affichage de texte</title> - <programlisting role="php"> -&lt;?php -cpdf_begin_text($pdf); -cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding"); -cpdf_text($pdf, 100, 100, "Some text"); -cpdf_end_text($pdf) -?&gt; - </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 &agrave; 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&icirc;ne - <parameter>text</parameter>, &agrave; 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 &agrave; 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&icirc;ne - <parameter>text</parameter>, &agrave; la position de - coordonn&eacute;es (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). Le dernier param&egrave;tre - optionnel est une unit&eacute; de longueur. Si il prend la - valeur de 0 (ou si il est omis), c'est la valeur par - d&eacute;faut (72) qui est utilis&eacute;. - <note> - <simpara> - The function <function>cpdf_show_xy</function> est identique &agrave; - <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> &agrave; la position de - coordonn&eacute;es (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). Le param&egrave;tre - <parameter>mode</parameter> est une unit&eacute; de - longueur. Si il prend la valeur de 0 (ou si il est omis), c'est la - valeur par d&eacute;faut (72) qui est utilis&eacute;. - </para> - <para> - Le param&egrave;tre optionel <parameter>orientation</parameter> - est un angle de rotation du texte, en degr&eacute;s. Le - param&egrave;tre optionnel <parameter>alignmode</parameter> - d&eacute;termine l'alignement du texte. Reportez vous - &agrave; 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&eacute;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&eacute;es. - </para> - <para> - Le dernier param&egrave;tre <parameter>encoding</parameter> - peut prendre - les valeurs suivantes : "MacRomanEncoding", "MacExpertEncoding", - "WinAnsiEncoding", et "&null;". "&null;" signifie qu'il faut utiliser - l'encodage par d&eacute;faut. - </para> - <para> - Reportez vous &agrave; 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&eacute; 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&eacute;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&eacute;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&eacute; au chemin, - 5=texte stroke et ajout&eacute; au chemin, 6=texte plein et stroke et - ajout&eacute; au chemin, 7=et ajout&eacute; au chemin. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-horiz-scaling"> - <refnamediv> - <refname>cpdf_set_horiz_scaling</refname> - <refpurpose>Fixe l'&eacute;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'&eacute;chelle horizontale du texte &agrave; - <parameter>scale</parameter> %. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-set-text-rise"> - <refnamediv> - <refname>cpdf_set_text_rise</refname> - <refpurpose>Fixe l'&eacute;l&eacute;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'&eacute;l&eacute;vation du texte &agrave; - <parameter>value</parameter> unit&eacute;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&eacute;crit la transformation - appliqu&eacute;e &agrave; 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 &agrave; <function>cpdf_show</function>. - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) qui est - utilis&eacute;. - </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&egrave;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&egrave;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&egrave;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 &agrave; 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> &agrave; 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&icirc;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&icirc;ne <parameter>text</parameter>. Une police - doit avoir d&eacute;j&agrave; &eacute;t&eacute; 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 &agrave; - la commande postscript gsave. Tr&egrave;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&eacute; par <function>cpdf_save</function>. Cette - fonction est similaire &agrave; la commande postscript - grestore. Tr&egrave;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"> -&lt;?php -cpdf_save($pdf); -// plein de transformations, translations, ... -cpdf_restore($pdf) -?&gt; - </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&egrave;me de coordon&eacute;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&egrave;me de coordon&eacute;es en placant l'origine - aux coordonn&eacute;es (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. S'il prend la valeur de 0 - (ou s'il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;. - </para> - </refsect1> - </refentry> - <refentry id="function.cpdf-scale"> - <refnamediv> - <refname>cpdf_scale</refname> - <refpurpose>Modifie l'&eacute;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&eacute;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&egrave;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&egrave;tre - linejoin &agrave; 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&egrave;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&egrave;tre linecap - &agrave; 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&egrave;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&egrave;tre "miter limit" &agrave; une valeur - sup&eacute;rieure ou &eacute;gale &agrave; 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 &agrave; 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&eacute;.</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&eacute; &agrave; <parameter>white</parameter> - unit&eacute; de blanc et <parameter>black</parameter> - unit&eacute;s de noir. Si les deux sont &agrave; 0, - une ligne pleine est affich&eacute;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&eacute;es (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>). - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&eacute;es (<parameter>x-koor</parameter>, - <parameter>y-koor</parameter>), relativement. - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&ocirc;le (<parameter>x1</parameter>, <parameter>y1</parameter>) - et (<parameter>x2</parameter>, <parameter>y2</parameter>). - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&eacute;es - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&eacute;es relatives - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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 &agrave; l'angle - <parameter>start</parameter> et finissant &agrave; l'angle - <parameter>end</parameter>. - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&eacute;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&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou - si il est omis), c'est la valeur par d&eacute;faut (72) - qui est utilis&eacute;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&eacute;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&eacute;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 &agrave; 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 - &agrave; 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"> -&lt;?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); -?&gt; - </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&egrave;tre de transition - <parameter>transition</parameter> peut &ecirc;tre : - <simplelist> - <member> - 0 pour aucune, - </member> - <member> - 1 pour deux lignes en travers de l'&eacute;cran, - qui r&eacute;v&egrave;lent la procha&icirc;ne page, - </member> - <member> - 2 pour plusieurs lignes en travers de l'&eacute;cran, - qui r&eacute;v&egrave;lent la procha&icirc;ne page, - </member> - <member> - 3 pour une bo&icirc;te qui r&eacute;v&egrave;le - la procha&icirc;ne page, - </member> - <member> - 4 pour une seule ligne en travers de l'&eacute;cran, - qui r&eacute;v&egrave;le la procha&icirc;ne page, - </member> - <member> - 5 pour l'ancienne page qui se dissout - </member> - <member> - 6 pour un effet de dissolution d'un angle &agrave; l'autre - </member> - <member> - 7 pour le remplacement simple (par d&eacute;faut) - </member> - </simplelist> - </para> - <para> - La valeur de <parameter>duration</parameter> est le nombre de - secondes avant le passage &agrave; 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&eacute; dans le fichier <parameter>file name</parameter>. - Le format de l'image doit &ecirc;tre JPEG. L'image est plac&eacute;e - dans la page courante, aux coordonn&eacute;es - (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - L'image subira une rotation d'un angle de <parameter>angle</parameter> - degr&eacute;s. - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; - de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est - la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;&eacute;e par un script PHP, dans la page, &agrave; - la position (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). - L'image peut &ecirc;tre mise &agrave; l'&eacute;chelle, en m&ecirc;me temps. - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; - de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est - la valeur par d&eacute;faut (72) qui est utilis&eacute;. - </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&eacute;rieur droit est (<parameter>llx</parameter>, - <parameter>lly</parameter>) et le coin sup&eacute;rieur droit est - (<parameter>urx</parameter>, <parameter>ury</parameter>). - </para> - <para> - Le param&egrave;tre <parameter>mode</parameter> est une - unit&eacute; de longueur. Si il prend la valeur de 0 (ou si - il est omis), c'est la valeur par d&eacute;faut (72) qui est - utilis&eacute;. - </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&eacute;er des documents PDF avec PHP. Elle est disponible en t&eacute;l&eacute;chargement sur le site <ulink url="&url.fastio;">FastIO</ulink>, mais requiert l'achat d'une licence pour utilisation commerciale. Les fonctionnalit&eacute;s et API de ClibPDF sont tr&egrave;s similaires &agrave; <link linkend="ref.pdf">PDFlib</link>. </simpara> <simpara> Cette documentation devrait &ecirc;tre lue avec le manuel ClibPDF sous la main, car il est beaucoup plus d&eacute;taill&eacute;. </simpara> <simpara> Beaucoup de fonctions sont natives de ClibPDF et se retrouvent dans le module PHP, et tout comme pdflib, elles ont le m&ecirc;me nom. Toutes les fonctions, hormis <function>cpdf_open</function> utilisent un pointeur sur un document comme premier param&egrave;tre. Actuellement, ce pointeur n'est pas utilis&eacute; en interne, car ClibPDF ne supporte pas la cr&eacute;ation de plusieurs documents PDF simultan&eacute;ment. En fait, il ne vaut mieux pas l'envisager, car les r&eacute;sultats sont al&eacute;atoires. Je ne veux m&ecirc;me pas imaginer les probl&egrave;mes qui pourrait se poser avec les environnements multi-t&acirc;ches. Selon l'auteur de ClibPDF, cette situation va changer dans les prochaines versions (lorsque cette documentation a &eacute;t&eacute; traduite, c'&eacute;tait la version 1.10). Si vous avez besoin de cette fonctionnalit&eacute;, utilisez pdflib. </simpara> <note> <simpara> La fonction <function>cpdf_set_font</function> a chang&eacute; depuis le PHP 3.0 pour supporter les polices asiatiques. Le param&egrave;tre d'encodage n'est plus un entier, mais une cha&icirc;ne. </simpara> </note> <simpara> Une caract&eacute;ristique pratique de ClibPDF (et aussi de <link linkend="ref.pdf">PDFlib</link>) est celle de cr&eacute;er le document PDF en m&eacute;moire, sans fichiers temporaires. ClibPDF permet aussi de passer les coordonn&eacute;es avec une unit&eacute; pr&eacute;d&eacute;finie (ce qui peut &ecirc;tre simul&eacute; 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 &ecirc;tre modifi&eacute;e &agrave; tout moment m&ecirc;me si une nouvelle page a &eacute;t&eacute; 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&egrave;s simples d'emploi. Le plus difficile est probablement de cr&eacute;er un document PDF simple. L'exemple suivant devrait vous aider &agrave; d&eacute;marrer. La page contient du texte qui utilise la police "Times-Roman" en taille 30, outlined. Le texte est soulign&eacute;. </simpara> <example> <title>Exemple simple ClibPDF</title> <programlisting role="php">&lt;?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);?&gt; </programlisting> </example> <simpara> La distribution pdflib contient un exemple plus complet, qui cr&eacute;e des s&eacute;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">&lt;?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-- &gt; 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 &lt; 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 &lt; 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);?&gt; </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&eacute;rieur droit est (<parameter>llx</parameter>, <parameter>lly</parameter>) et le coin sup&eacute;rieur droit est (<parameter>urx</parameter>, <parameter>ury</parameter>). </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou si il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;. </para> </refsect1> </refentry> <refentry id="function.cpdf-add-outline"> <refnamediv> <refname>cpdf_add_outline</refname> <refpurpose>Ajoute un signet &agrave; 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 &agrave; 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">&lt;?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);?&gt; </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&ccedil;ant &agrave; l'angle <parameter>start</parameter> et finissant &agrave; l'angle <parameter>end</parameter>. </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;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&eacute;marre une section de texte. Elle doit &ecirc;tre termin&eacute;e avec <function>cpdf_end_text</function>. <example> <title>Affichage de texte</title> <programlisting role="php">&lt;?phpcpdf_begin_text($pdf);cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");cpdf_text($pdf, 100, 100, "Some text");cpdf_end_text($pdf)?&gt; </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&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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 &ecirc;tre la derni&egrave;re fonction appel&eacute;e, et elle appara&icirc;t m&ecirc;me apr&egrave;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 &agrave; 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> &agrave; 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&ocirc;le (<parameter>x1</parameter>, <parameter>y1</parameter>) et (<parameter>x2</parameter>, <parameter>y2</parameter>). </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;e avec <function>cpdf_begin_text</function>. <example> <title>Affichage de texte</title> <programlisting role="php">&lt;?phpcpdf_begin_text($pdf);cpdf_set_font($pdf, 16, "Helvetica", "WinAnsiEncoding");cpdf_text($pdf, 100, 100, "Some text");cpdf_end_text($pdf)?&gt; </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&eacute;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&eacute;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&egrave;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&eacute;ro <parameter>page_number</parameter>. <function>cpdf_finalize_page</function> ne fait qu'une sauvegarde m&eacute;moire. Les pages termin&eacute;es prennent moins de place, mais ne peuvent plus &ecirc;tre modifi&eacute;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 &ecirc;tre appel&eacute; avant <function>cpdf_open</function> pour &ecirc;tre effective. Elle fixe les limites de tous les documents ouverts apr&egrave;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&eacute; dans le fichier <parameter>file_name</parameter>. Le format de l'image doit &ecirc;tre JPEG. L'image est plac&eacute;e dans la page courante, aux coordonn&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). L'image subira une rotation d'un angle de <parameter>angle</parameter> degr&eacute;s. </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&egrave;tre <parameter>compression</parameter> active ou pas la compression, suivant qu'il vaut 0 ou 1. Le deuxi&egrave;me param&egrave;tre, optionnel, choisit le fichier de destination du document. S'il est omis, le document sera &eacute;crit en m&eacute;moire, et pourra &ecirc;tre &eacute;crit dans un fichier avec <function>cpdf_save_to_file</function> ou envoy&eacute; &agrave; l'affichage avec <function>cpdf_output_buffer</function>. <note> <simpara> La valeur retourn&eacute;e sera n&eacute;cessaire pour les autres fonctions de ClibPDF comme premier param&egrave;tre. </simpara> <simpara> La librairie ClibPDF prend le nom de fichier "-" comme synonyme de stdout. Si PHP est compil&eacute; comme un module apache, cela ne fonctionnera pas, car la m&eacute;thode d'envoie des donn&eacute;es de ClibPDF ne fonctionne pas avec Apache. Vous pouvez r&eacute;soudre ce probl&egrave;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> &agrave; la position de coordonn&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. Si il prend la valeur de 0 (ou si il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;. </para> <para> Le param&egrave;tre optionel <parameter>orientation</parameter> est un angle de rotation du texte, en degr&eacute;s. Le param&egrave;tre optionnel <parameter>alignmode</parameter> d&eacute;termine l'alignement du texte. Reportez vous &agrave; 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&eacute;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&eacute;es. </para> <para> Le dernier param&egrave;tre <parameter>encoding</parameter> peut prendre les valeurs suivantes : "MacRomanEncoding", "MacExpertEncoding", "WinAnsiEncoding", et "&null;". "&null;" signifie qu'il faut utiliser l'encodage par d&eacute;faut. </para> <para> Reportez vous &agrave; 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&eacute; 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&eacute;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&eacute;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&eacute; au chemin, 5=texte stroke et ajout&eacute; au chemin, 6=texte plein et stroke et ajout&eacute; au chemin, 7=et ajout&eacute; 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&eacute; par <function>cpdf_save</function>. Cette fonction est similaire &agrave; la commande postscript grestore. Tr&egrave;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">&lt;?phpcpdf_save($pdf);// plein de transformations, translations, ...cpdf_restore($pdf)?&gt; </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&eacute;es relatives (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>), relativement. </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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&eacute;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 &agrave; la commande postscript gsave. Tr&egrave;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> &eacute;crit un document PDF dans un fichier, s'il a &eacute;t&eacute; cr&eacute;&eacute; en m&eacute;moire. <function>cpdf_save_to_file</function> n'est pas n&eacute;cessaire si un nom de fichier a &eacute;t&eacute; fourni lors de l'appel &agrave; <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&egrave;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&egrave;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&eacute;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&eacute;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&ugrave; toutes les prochaines op&eacute;rations vont avoir lieu. On peut changer de page jusqu'&agrave; ce qu'une page soit termin&eacute;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'&eacute;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'&eacute;chelle horizontale du texte &agrave; <parameter>scale</parameter> %. </para> </refsect1> </refentry> <refentry id="function.cpdf-set-keywords"> <refnamediv> <refname>cpdf_set_keywords</refname> <refpurpose>Fixe les mot cl&eacute;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&eacute; 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&egrave;tre de transition <parameter>transition</parameter> peut &ecirc;tre : <simplelist> <member> 0 pour aucune, </member> <member> 1 pour deux lignes en travers de l'&eacute;cran, qui r&eacute;v&egrave;lent la prochaine page, </member> <member> 2 pour plusieurs lignes en travers de l'&eacute;cran, qui r&eacute;v&egrave;lent la prochaine page, </member> <member> 3 pour une bo&icirc;te qui r&eacute;v&egrave;le la prochaine page, </member> <member> 4 pour une seule ligne en travers de l'&eacute;cran, qui r&eacute;v&egrave;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 &agrave; l'autre </member> <member> 7 pour le remplacement simple (par d&eacute;faut) </member> </simplelist> </para> <para> La valeur de <parameter>duration</parameter> est le nombre de secondes avant le passage &agrave; 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&eacute;crit la transformation appliqu&eacute;e &agrave; 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 &agrave; <function>cpdf_show</function>. </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;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'&eacute;l&eacute;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'&eacute;l&eacute;vation du texte &agrave; <parameter>value</parameter> unit&eacute;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&egrave;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&eacute;.</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&eacute; &agrave; <parameter>white</parameter> unit&eacute; de blanc et <parameter>black</parameter> unit&eacute;s de noir. Si les deux sont &agrave; 0, une ligne pleine est affich&eacute;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&egrave;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&egrave;tre linecap &agrave; 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&egrave;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&egrave;tre linejoin &agrave; 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 &agrave; la valeur de <parameter>width</parameter>. </para> </refsect1> </refentry> <refentry id="function.cpdf-setmiterlimit"> <refnamediv> <refname>cpdf_setmiterlimit</refname> <refpurpose>Fixe le param&egrave;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&egrave;tre "miter limit" &agrave; une valeur sup&eacute;rieure ou &eacute;gale &agrave; 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 &agrave; 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&icirc;ne <parameter>text</parameter>, &agrave; 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 &agrave; 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&icirc;ne <parameter>text</parameter>, &agrave; la position de coordonn&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). Le dernier param&egrave;tre optionnel est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;. <note> <simpara> The function <function>cpdf_show_xy</function> est identique &agrave; <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&icirc;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&icirc;ne <parameter>text</parameter>. Une police doit avoir d&eacute;j&agrave; &eacute;t&eacute; 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&egrave;me de coordonn&eacute;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&egrave;me de coordonn&eacute;es en pla&ccedil;ant l'origine aux coordonn&eacute;es (<parameter>x-koor</parameter>, <parameter>y-koor</parameter>). </para> <para> Le param&egrave;tre <parameter>mode</parameter> est une unit&eacute; de longueur. S'il prend la valeur de 0 (ou s'il est omis), c'est la valeur par d&eacute;faut (72) qui est utilis&eacute;. </para> </refsect1> </refentry> <refentry id="function.cpdf-scale"> <refnamediv> <refname>cpdf_scale</refname> <refpurpose>Modifie l'&eacute;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'&eacute;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&egrave;res</title> - <titleabbrev>ctype</titleabbrev> - - <partintro> - &warn.experimental; - <para> - Ces fonctions v&eacute;rifient si un caract&egrave;re ou une cha&icirc;ne - de caract&egrave;res font partie d'une certaine classe de - caract&egrave;res, en fonction de la configuration locale. - </para> - <para> - Appel&eacute;e avec un argument de type entier, ces fonctions - se comportent exactement comme le &eacute;quivalent en langage C. - </para> - <para> - Appel&eacute;e avec un argument de type cha&icirc;ne, elles v&eacute;rifieront - chaque caract&egrave;re de la cha&icirc;ne, et ne retourneront - &true; que si chaque caract&egrave;re - de la cha&icirc;ne satisfait les crit&egrave;res requis. - </para> - <para> - Tout autre type d'argument (autre que cha&icirc;ne ou entier) - g&eacute;n&egrave;re une erreur, et retourne &false; - imm&eacute;diatement. - </para> - <warning> - <simpara> - Ces fonctions ont &eacute;t&eacute; ajout&eacute;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&ecirc;me si cela peut conduire &agrave; 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&eacute;rifie qu'un caract&egrave;re est alpha-num&eacute;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&eacute;rifie qu'un caract&egrave;re est alphab&eacute;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&eacute;rifie qu'un caract&egrave;re est un caract&egrave;re de contr&ocirc;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&eacute;rifie qu'un caract&egrave;re est num&eacute;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;re est imprimable, sans &ecirc;tre ni un espace, - ni un caract&egrave;re alpha-num&eacute;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&eacute;rifie qu'un caract&egrave;re est caract&egrave;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;re repr&eacute;sente un nombre h&eacute;xad&eacute;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&egrave;res</title> <titleabbrev>ctype</titleabbrev> <partintro> <para> Ces fonctions v&eacute;rifient si un caract&egrave;re ou une cha&icirc;ne de caract&egrave;res font partie d'une certaine classe de caract&egrave;res, en fonction de la configuration locale. </para> <para> Appel&eacute;e avec un argument de type entier, ces fonctions se comportent exactement comme le &eacute;quivalent en langage C. </para> <para> Appel&eacute;e avec un argument de type cha&icirc;ne, elles v&eacute;rifieront chaque caract&egrave;re de la cha&icirc;ne, et ne retourneront <literal>TRUE</literal> que si chaque caract&egrave;re de la cha&icirc;ne satisfait les crit&egrave;res requis. </para> <para> Tout autre type d'argument (autre que cha&icirc;ne ou entier) g&eacute;n&egrave;re une erreur, et retourne <literal>FALSE</literal> imm&eacute;diatement. </para> <warning> <simpara> Ces fonctions ont &eacute;t&eacute; ajout&eacute;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&ecirc;me si cela peut conduire &agrave; 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&eacute;rifie qu'un caract&egrave;re est alpha-num&eacute;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&eacute;rifie qu'un caract&egrave;re est alphab&eacute;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&eacute;rifie qu'un caract&egrave;re est un caract&egrave;re de contr&ocirc;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&eacute;rifie qu'un caract&egrave;re est num&eacute;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;re est imprimable, sans &ecirc;tre ni un espace, ni un caract&egrave;re alpha-num&eacute;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&eacute;rifie qu'un caract&egrave;re est caract&egrave;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&eacute;rifie qu'un caract&egrave;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&eacute;rifie qu'un caract&egrave;re repr&eacute;sente un nombre h&eacute;xad&eacute;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 &eacute;t&eacute; - compil&eacute; avec l'option - <option role="configure">--with-cybercash=[DIR]</option>. Ces - fonctions ont &eacute;t&eacute; ajout&eacute;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 &eacute;l&eacute;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 &eacute;l&eacute;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 &eacute;t&eacute; compil&eacute; avec l'option <option role="configure">--with-cybercash=[DIR]</option>. Ces fonctions ont &eacute;t&eacute; ajout&eacute;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 &eacute;l&eacute;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 &eacute;l&eacute;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&eacute;sent&eacute;e par le jour <parameter>day</parameter>, + le mois <parameter>month</parameter> et l'ann&eacute;e <parameter>year</parameter> est valide, et sinon &false;. Notez bien que l'ordre des arguments n'est pas l'ordre fran&ccedil;ais. La date est consid&eacute;r&eacute;e comme valide si : @@ -66,10 +68,26 @@ </funcsynopsis> <para> <function>date</function> retourne une date sous forme d'une cha&icirc;ne, au format - donn&eacute; par la cha&icirc;ne format. La date est fournie - sous la forme d'un <parameter>timestamp</parameter>. Par d&eacute;faut, - la date courante est utilis&eacute;e. + donn&eacute; par la cha&icirc;ne <parameter>format</parameter>. + La date est fournie par le param&egrave;tre <parameter>timestamp</parameter>, + sous la forme d'un timestamp. Par d&eacute;faut, la date courante est + utilis&eacute;e. </para> + <note> + <para> + L'intervalle de validit&eacute; d'un timestamp va g&eacute;n&eacute;ralement du + Vendredi 13 D&eacute;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&eacute;s). + </para> + <para> + Pour g&eacute;n&eacute;rer un timestamp &agrave; partir d'une repr&eacute;sentation de date, + pour pouvez utiliser la fonction <function>strtotime</function>. De plus, + certaines bases de donn&eacute;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&egrave;res suivants sont utilis&eacute;s pour sp&eacute;cifier le format : @@ -172,6 +190,11 @@ </listitem> <listitem> <simpara> + O - Diff&eacute;rence d'heures avec l'heure de Greenwich, exprim&eacute;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&eacute; en PHP 4.0.4) </simpara> @@ -235,8 +258,23 @@ <title>Exemple avec <function>date</function></title> <programlisting role="php"> &lt;?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))); +?&gt; + </programlisting> + </example> + </para> + <para> + Vous pouvez faire afficher un caract&egrave;re sp&eacute;cial dans la cha&icirc;ne de format + en le prot&eacute;geant par un anti-slash. Si le caract&egrave;re est lui-m&ecirc;me une s&eacute;quence + incluant un anti-slash, vous devrez prot&eacute;ger aussi l'anti-slash. + <example> + <title>Protection des caract&egrave;res avec <function>date</function></title> + <programlisting role="php"> +&lt;?php +echo date("l \\t\h\e jS"); +// affiche 'Saturday the 8th' +// \t repr&eacute;sente une tabulation ?&gt; </programlisting> </example> @@ -251,15 +289,22 @@ </title> <programlisting role="php"> &lt;?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); ?&gt; </programlisting> </example> </para> + <note> + <para> + Cette m&eacute;thode est plus s&ucirc;re que simplement ajouter ou retrancher + le nombre de secondes dans une journ&eacute;e ou un mois &agrave; un timestamp, + &agrave; cause des heures d'hivers et d'&eacute;t&eacute;. + </para> + </note> <para> - Voici maintenant quelques exemples de formatages avec + Voici maintenant quelques exemples de formatage avec <function>date</function>. Notez que vous devriez &eacute;chapper tous les autres caract&egrave;res, car s'ils ont une signification sp&eacute;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"> &lt;?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)); ?&gt; </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&eacute;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&eacute;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&eacute;rents modifiant - le m&ecirc;me fichier dBase risque de rendre votre base de - donn&eacute;es incoh&eacute;rente. - </simpara> - <simpara> - Les fichiers dBase sont de simples fichiers s&eacute;quentiels - d'enregistrements de longueur fixe. Les enregistrements sont - ajout&eacute;s &agrave; la fin du fichier et les enregistrements - supprim&eacute;s sont conserv&eacute;s jusqu'&agrave; - l'appel de <function>dbase_pack</function>. - </simpara> - <simpara> - Nous vous recommandons de ne pas utiliser les fichiers dBase comme base - de donn&eacute;es de production. Choisissez n'importe quel serveur SQL - &agrave; 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&eacute;es depuis et vers votre base des - donn&eacute;es issues du web, car ce format de fichier est - commun&eacute;ment accept&eacute; par les feuilles et - organiseurs Windows. L'import et l'export de donn&eacute;es est l'unique - chose pour laquelle l'utilisation de dBase est recommand&eacute;e. - </simpara> - </partintro> - <refentry id="function.dbase-create"> - <refnamediv> - <refname>dbase_create</refname> - <refpurpose>Cr&eacute;e une base de donn&eacute;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&eacute;crit le format d'un fichier de la base. Chaque champs est - constitu&eacute; d'un nom, d'un caract&egrave;re de type de champs, - d'une longueur et d'une pr&eacute;cision. - </para> - <para> - Les types de champs disponibles sont : - <variablelist> - <varlistentry> - <term>L</term> - <listitem> - <simpara> - Boolean (bool&eacute;en). Pas de longueur ou de pr&eacute;cision pour ces valeurs. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>M</term> - <listitem> - <simpara> - Memo. (Note importante : les Memos ne sont pas support&eacute;s par PHP.) - Elles n'ont pas de longueur ou de pr&eacute;cision. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>D</term> - <listitem> - <simpara> - Date (enregistr&eacute;e au format 'YYYYMMDD'). Elles n'ont pas de longueur ou - de pr&eacute;cision. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>N</term> - <listitem> - <simpara> - Number (nombre). Poss&egrave;de une longueur et un pr&eacute;cision (le nombre de - chiffres apr&egrave;s la virgule). - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>C</term> - <listitem> - <simpara> - String (cha&icirc;ne). - </simpara> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - Si la base de donn&eacute;es a &eacute;t&eacute; cr&eacute;&eacute;e, - un identifiant de base dbase_identifier est retourn&eacute;, sinon, - <literal>FALSE</literal> est retourn&eacute;. - <example> - <title>Cr&eacute;ation d'une base dBase</title> - <programlisting role="php"> -&lt;?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&eacute;ation - if (!dbase_create($dbname, $def)) - print "&lt;strong>Error!&lt;/strong>"; -?&gt; - </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 &eacute;criture seule, et - 2 &eacute;criture/lecture). - </para> - <para> - <function>dbase_open</function> retourne un identifiant de base de - donn&eacute;es, ou <literal>FALSE</literal> si la base n'a pas pu &ecirc;tre - s&eacute;lectionn&eacute;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&eacute;e &agrave; - <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&eacute;es - <parameter>dbase_identifier</parameter> (effacement d&eacute;finitif - de tous les enregistrements marqu&eacute;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&eacute;es de - <parameter>record</parameter> dans la base sp&eacute;cifi&eacute;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&eacute;ration - &eacute;chouera, et <literal>FALSE</literal> sera retourn&eacute;. - </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&eacute;es - associ&eacute;es &agrave; l'enregistrement <parameter>record_number</parameter> - par les donn&eacute;es enregistr&eacute;es dans <parameter>record</parameter>. - Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, - l'op&eacute;ration &eacute;chouera, et <literal>FALSE</literal> sera retourn&eacute;. - </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&eacute; 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&eacute;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&eacute;es de - l'enregistrement <parameter>record</parameter> dans un tableau. Le tableau est - index&eacute; &agrave; partir de 0, et inclus un membre nomm&eacute; 'deleted' - (effac&eacute;), qui sera mis &agrave; 1 si l'enregistrement a &eacute;t&eacute; - marqu&eacute; pour l'effacement (voir <function>dbase_delete_record</function>). - </para> - <para> - Chaque champs est converti au format appropri&eacute; PHP. (Les dates sont - laiss&eacute;es au format cha&icirc;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&eacute;es - de l'enregistrement <parameter>record</parameter> - dans un tableau associatif. Le tableau inclus un membre nomm&eacute; 'deleted' - (effac&eacute;), qui sera mis &agrave; 1 si l'enregistrement a - &eacute;t&eacute; marqu&eacute; pour l'effacement (voir - <function>dbase_delete_record</function>). - </para> - <para> - Chaque champs est converti au format appropri&eacute; PHP. (Les dates sont - laiss&eacute;es au format cha&icirc;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&eacute;es <parameter>dbase_identifier</parameter>. - Les num&eacute;ros de champs sont num&eacute;rot&eacute;s de 0 &agrave; - dbase_numfields($db)-1, tandis que les num&eacute;ros d'enregistrements - sont num&eacute;rot&eacute;s de 1 &agrave; dbase_numrecords($db). - <example> - <title>Utiliser <function>dbase_numfields</function></title> - <programlisting role="php"> -&lt;?php - $rec = dbase_get_record($db, $recno); - $nf = dbase_numfields($db); - for ($i=0; $i &lt; $nf; $i++) { - print $rec[$i]."&lt;br&gt;\n"; - } -?&gt; - </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&eacute;ros de champs sont num&eacute;rot&eacute;s de 0 &agrave; - <literal>dbase_numfields($db)-1</literal>, tandis que les num&eacute;ros - d'enregistrements sont num&eacute;rot&eacute;s de 1 &agrave; - <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&eacute;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&eacute;rents modifiant le m&ecirc;me fichier dBase risque de rendre votre base de donn&eacute;es incoh&eacute;rente. </simpara> <simpara> Les fichiers dBase sont de simples fichiers s&eacute;quentiels d'enregistrements de longueur fixe. Les enregistrements sont ajout&eacute;s &agrave; la fin du fichier et les enregistrements supprim&eacute;s sont conserv&eacute;s jusqu'&agrave; l'appel de <function>dbase_pack</function>. </simpara> <simpara> Nous vous recommandons de ne pas utiliser les fichiers dBase comme base de donn&eacute;es de production. Choisissez n'importe quel serveur SQL &agrave; 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&eacute;es depuis et vers votre base des donn&eacute;es issues du web, car ce format de fichier est commun&eacute;ment accept&eacute; par les feuilles et organiseurs Windows. L'import et l'export de donn&eacute;es est l'unique chose pour laquelle l'utilisation de dBase est recommand&eacute;e. </simpara> </partintro> <refentry id="function.dbase-create"> <refnamediv> <refname>dbase_create</refname> <refpurpose>Cr&eacute;e une base de donn&eacute;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&eacute;crit le format d'un fichier de la base. Chaque champs est constitu&eacute; d'un nom, d'un caract&egrave;re de type de champs, d'une longueur et d'une pr&eacute;cision. </para> <para> Les types de champs disponibles sont : <variablelist> <varlistentry> <term>L</term> <listitem> <simpara> Boolean (bool&eacute;en). Pas de longueur ou de pr&eacute;cision pour ces valeurs. </simpara> </listitem> </varlistentry> <varlistentry> <term>M</term> <listitem> <simpara> Memo. (Note importante : les Memos ne sont pas support&eacute;s par PHP.) Elles n'ont pas de longueur ou de pr&eacute;cision. </simpara> </listitem> </varlistentry> <varlistentry> <term>D</term> <listitem> <simpara> Date (enregistr&eacute;e au format 'YYYYMMDD'). Elles n'ont pas de longueur ou de pr&eacute;cision. </simpara> </listitem> </varlistentry> <varlistentry> <term>N</term> <listitem> <simpara> Number (nombre). Poss&egrave;de une longueur et un pr&eacute;cision (le nombre de chiffres apr&egrave;s la virgule). </simpara> </listitem> </varlistentry> <varlistentry> <term>C</term> <listitem> <simpara> String (cha&icirc;ne). </simpara> </listitem> </varlistentry> </variablelist> </para> <para> Si la base de donn&eacute;es a &eacute;t&eacute; cr&eacute;&eacute;e, un identifiant de base dbase_identifier est retourn&eacute;, sinon, <literal>FALSE</literal> est retourn&eacute;. <example> <title>Cr&eacute;ation d'une base dBase</title> <programlisting role="php">&lt;?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&eacute;ation if (!dbase_create($dbname, $def)) print "&lt;strong&gt;Erreur!&lt;/strong&gt;";?&gt; </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 &eacute;criture seule, et 2 &eacute;criture/lecture). </para> <para> <function>dbase_open</function> retourne un identifiant de base de donn&eacute;es, ou <literal>FALSE</literal> si la base n'a pas pu &ecirc;tre s&eacute;lectionn&eacute;e. </para> &note.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&eacute;e &agrave; <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&eacute;es <parameter>dbase_identifier</parameter> (effacement d&eacute;finitif de tous les enregistrements marqu&eacute;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&eacute;es de <parameter>record</parameter> dans la base sp&eacute;cifi&eacute;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&eacute;ration &eacute;chouera, et <literal>FALSE</literal> sera retourn&eacute;. </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&eacute;es associ&eacute;es &agrave; l'enregistrement <parameter>record_number</parameter> par les donn&eacute;es enregistr&eacute;es dans <parameter>record</parameter>. Si le nombre de colonnes fourni n'est pas celui du nombre de champs dans la base, l'op&eacute;ration &eacute;chouera, et <literal>FALSE</literal> sera retourn&eacute;. </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&eacute; 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&eacute;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&eacute;es de l'enregistrement <parameter>record</parameter> dans un tableau. Le tableau est index&eacute; &agrave; partir de 0, et inclus un membre nomm&eacute; 'deleted' (effac&eacute;), qui sera mis &agrave; 1 si l'enregistrement a &eacute;t&eacute; marqu&eacute; pour l'effacement (voir <function>dbase_delete_record</function>). </para> <para> Chaque champs est converti au format appropri&eacute; PHP. (Les dates sont laiss&eacute;es au format cha&icirc;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&eacute;es de l'enregistrement <parameter>record</parameter> dans un tableau associatif. Le tableau inclus un membre nomm&eacute; 'deleted' (effac&eacute;), qui sera mis &agrave; 1 si l'enregistrement a &eacute;t&eacute; marqu&eacute; pour l'effacement (voir <function>dbase_delete_record</function>). </para> <para> Chaque champs est converti au format appropri&eacute; PHP. (Les dates sont laiss&eacute;es au format cha&icirc;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&eacute;es <parameter>dbase_identifier</parameter>. Les num&eacute;ros de champs sont num&eacute;rot&eacute;s de 0 &agrave; dbase_numfields($db)-1, tandis que les num&eacute;ros d'enregistrements sont num&eacute;rot&eacute;s de 1 &agrave; dbase_numrecords($db). <example> <title>Utiliser <function>dbase_numfields</function></title> <programlisting role="php">&lt;?php $rec = dbase_get_record($db, $recno); $nf = dbase_numfields($db); for ($i=0; $i &lt; $nf; $i++) { print $rec[$i]."&lt;br&gt;\n"; }?&gt; </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&eacute;ros de champs sont num&eacute;rot&eacute;s de 0 &agrave; <literal>dbase_numfields($db)-1</literal>, tandis que les num&eacute;ros d'enregistrements sont num&eacute;rot&eacute;s de 1 &agrave; <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'&eacute;crire des lignes dans une - base de donn&eacute;es de type dbm. Ce type de base (support&eacute; - par Berkeley db, gdbm, et quelques librairies syst&egrave;mes, - ou certaines librairies du syst&egrave;me d'exploitation) enregistre - les paires cl&eacute;s/valeurs, (contrairement aux enregistrements - par ligne, utilis&eacute; par les autres bases de donn&eacute;es - relationnelles). - </simpara> - <para> - <example> - <title>Pr&eacute;sentation de dbm</title> - <programlisting role="php"> -&lt;?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); -?&gt; - </programlisting> - </example> - </para> - </partintro> - <refentry id="function.dbmopen"> - <refnamediv> - <refname>dbmopen</refname> - <refpurpose>Ouvre une base de donn&eacute;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 &agrave; - ouvrir. Le deuxi&egrave;me argument est le mode d'ouverture du fichier, - qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui - repr&eacute;sentent respectivement lecture seule, nouveau (ce qui - implique lecture/&eacute;criture, et qui, probablement, va - &eacute;craser une base existante), cr&eacute;ation(ce qui - implique lecture/&eacute;criture, et qui, probablement, va - &eacute;craser une base existante), et lecture/&eacute;criture. - </para> - <para> - <function>dbmopen</function> retourne un identifiant, qui - sera pass&eacute; &agrave; toutes les autres fonctions dbm, - en cas de succ&egrave;s, ou <literal>FALSE</literal> en - cas d'&eacute;chec. - </para> - <para> - Si ndbm est utilis&eacute;, ndbm va cr&eacute;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&eacute;e - le fichier <filename>filename.db</filename>. Notez que PHP - dispose de son propre syst&egrave;me de verrouillage des - fichiers, qui s'additionne &agrave; celui &eacute;ventuellement - utilis&eacute; par les librairies. PHP n'efface jamais les fichiers - <filename>.lck</filename> qu'il cr&eacute;e. Il les utilise comme - inode fixe, sur lequel faire le verrouillage. - Pour plus d'informations sur les fichiers dbm, reportez-vous - &agrave; 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&eacute;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&eacute;verrouille et - ferme la base de donn&eacute;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&eacute;e &agrave; la cl&eacute; - <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&eacute;e - &agrave; la cl&eacute; <parameter>key</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.dbminsert"> - <refnamediv> - <refname>dbminsert</refname> - <refpurpose>Ins&egrave;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&eacute;es, avec la cl&eacute; <parameter>key</parameter>. - </para> - <para> - <function>dbminsert</function> retourne -1 si la base a - &eacute;t&eacute; ouverte en mode lecture - seule, 0 si l'insertion a &eacute;t&eacute; r&eacute;ussie, et 1 si - la cl&eacute; key existe d&eacute;j&agrave;. (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&eacute; - <parameter>key</parameter>, dans une base <parameter>dbm_identifier</parameter>. - </para> - <para> - <function>dbmreplace</function> cr&eacute;e la cl&eacute;, 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&eacute; - <parameter>key</parameter>, dans la base <parameter>dbm_identifier</parameter>. - </para> - <para> - <function>dbmdelete</function> retourne <literal>FALSE</literal> - si la cl&eacute; n'existe pas dans cette base. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmfirstkey"> - <refnamediv> - <refname>dbmfirstkey</refname> - <refpurpose>Lit la premi&egrave;re cl&eacute;.</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&egrave;re - cl&eacute; de la base de donn&eacute;es. Notez bien que les - cl&eacute;s ne sont pas dans un ordre d&eacute;fini, - &eacute;tant donn&eacute; que la table est construite comme un tableau - associatif. - </para> - </refsect1> - </refentry> - <refentry id="function.dbmnextkey"> - <refnamediv> - <refname>dbmnextkey</refname> - <refpurpose>Lit la cl&eacute; 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&eacute; apr&egrave;s la cl&eacute; - <parameter>key</parameter>. En appelant <function>dbmfirstkey</function>, - puis successivement <function>dbmnextkey</function>, il est - possible de passer en revue toute les paires cl&eacute;/valeur - de la base de donn&eacute;es dbm. Par exemple : - <example> - <title>Passer en revue une base de donn&eacute;es.</title> - <programlisting role="php"> -&lt;?php - $cle = dbmfirstkey($dbm_id); - while ($cle){ - echo "$cle = " . dbmfetch($dbm_id, $cle) . "\n"; - $cle = dbmnextkey($dbm_id, $cle); - } -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.dblist"> - <refnamediv> - <refname>dblist</refname> - <refpurpose>D&eacute;crit la librairie dbm utilis&eacute;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'&eacute;crire des lignes dans une base de donn&eacute;es de type dbm. Ce type de base (support&eacute; par Berkeley db, gdbm, et quelques librairies syst&egrave;mes, ou certaines librairies du syst&egrave;me d'exploitation) enregistre les paires cl&eacute;s/valeurs, (contrairement aux enregistrements par ligne, utilis&eacute; par les autres bases de donn&eacute;es relationnelles). </simpara> <para> <example> <title>Pr&eacute;sentation de dbm</title> <programlisting role="php">&lt;?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);?&gt; </programlisting> </example> </para> </partintro> <refentry id="function.dbmopen"> <refnamediv> <refname>dbmopen</refname> <refpurpose>Ouvre une base de donn&eacute;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 &agrave; ouvrir. Le deuxi&egrave;me argument est le mode d'ouverture du fichier, qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui repr&eacute;sentent respectivement lecture seule, nouveau (ce qui implique lecture/&eacute;criture, et qui, probablement, va &eacute;craser une base existante), cr&eacute;ation(ce qui implique lecture/&eacute;criture, et qui, probablement, va &eacute;craser une base existante), et lecture/&eacute;criture. </para> <para> <function>dbmopen</function> retourne un identifiant, qui sera pass&eacute; &agrave; toutes les autres fonctions dbm, en cas de succ&egrave;s, ou <literal>FALSE</literal> en cas d'&eacute;chec. </para> <para> Si ndbm est utilis&eacute;, ndbm va cr&eacute;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&eacute;e le fichier <filename>filename.db</filename>. Notez que PHP dispose de son propre syst&egrave;me de verrouillage des fichiers, qui s'additionne &agrave; celui &eacute;ventuellement utilis&eacute; par les librairies. PHP n'efface jamais les fichiers <filename>.lck</filename> qu'il cr&eacute;e. Il les utilise comme inode fixe, sur lequel faire le verrouillage. Pour plus d'informations sur les fichiers dbm, reportez-vous &agrave; 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&eacute;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&eacute;verrouille et ferme la base de donn&eacute;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&eacute;e &agrave; la cl&eacute; <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&eacute;e &agrave; la cl&eacute; <parameter>key</parameter>. </para> </refsect1> </refentry> <refentry id="function.dbminsert"> <refnamediv> <refname>dbminsert</refname> <refpurpose>Ins&egrave;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&eacute;es, avec la cl&eacute; <parameter>key</parameter>. </para> <para> <function>dbminsert</function> retourne -1 si la base a &eacute;t&eacute; ouverte en mode lecture seule, 0 si l'insertion a &eacute;t&eacute; r&eacute;ussie, et 1 si la cl&eacute; key existe d&eacute;j&agrave;. (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&eacute; <parameter>key</parameter>, dans une base <parameter>dbm_identifier</parameter>. </para> <para> <function>dbmreplace</function> cr&eacute;e la cl&eacute;, 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&eacute; <parameter>key</parameter>, dans la base <parameter>dbm_identifier</parameter>. </para> <para> <function>dbmdelete</function> retourne <literal>FALSE</literal> si la cl&eacute; n'existe pas dans cette base. </para> </refsect1> </refentry> <refentry id="function.dbmfirstkey"> <refnamediv> <refname>dbmfirstkey</refname> <refpurpose>Lit la premi&egrave;re cl&eacute;.</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&egrave;re cl&eacute; de la base de donn&eacute;es. Notez bien que les cl&eacute;s ne sont pas dans un ordre d&eacute;fini, &eacute;tant donn&eacute; que la table est construite comme un tableau associatif. </para> </refsect1> </refentry> <refentry id="function.dbmnextkey"> <refnamediv> <refname>dbmnextkey</refname> <refpurpose>Lit la cl&eacute; 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&eacute; apr&egrave;s la cl&eacute; <parameter>key</parameter>. En appelant <function>dbmfirstkey</function>, puis successivement <function>dbmnextkey</function>, il est possible de passer en revue toute les paires cl&eacute;/valeur de la base de donn&eacute;es dbm. Par exemple : <example> <title>Passer en revue une base de donn&eacute;es.</title> <programlisting role="php">&lt;?php $cle = dbmfirstkey($dbm_id); while ($cle){ echo "$cle = " . dbmfetch($dbm_id, $cle) . "\n"; $cle = dbmnextkey($dbm_id, $cle); }?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.dblist"> <refnamediv> <refname>dblist</refname> <refpurpose>D&eacute;crit la librairie dbm utilis&eacute;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&eacute;es - (db pour database (base de donn&eacute;es) et 'X' pour toutes les - bases support&eacute;es). Les fonctions dbx vous permettent d'acc&eacute;der - &agrave; toutes les bases support&eacute;es, avec la m&ecirc;me convention. Pour cela - il vous faut avoir ces fonctions compil&eacute;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&eacute;der &agrave; 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&eacute;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&eacute; avec PHP, ou bien la charger - dynamiquement. Actuellement les bases MySQL, PostgreSQL et - ODBC sont support&eacute;es, mais d'autres suivront bient&ocirc;t (j'esp&egrave;re). - </simpara> - <simpara> - La documentation compl&eacute;mentaire (ajout de nouvelles bases &agrave; dbx) est - accessible &agrave; <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 &agrave; 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&egrave;s, et &false; en cas d'erreur. - </para> - <example> - <title>Exemple avec <function>dbx_close</function></title> - <programlisting role="php"> -&lt;?php -$link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe") - or die ("Impossible de se connecter"); -print("Connexion r&eacute;ussie"); -dbx_close($link); -?&gt; - </programlisting> - </example> - <note> - <para> - Reportez vous aussi &agrave; documentation de la base de donn&eacute;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 &agrave; une base de donn&eacute;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&egrave;s, &false; sinon. Si la connexion a - put &ecirc;tre &eacute;tablie, mais que la base de donn&eacute;es n'a pas pu - &ecirc;tre selectionn&eacute;e, la fonction retournera quand m&ecirc;me une ressource. - Le param&egrave;tre <parameter>persistent</parameter> peut prendre la - valeur DBX_PERSISTENT, pour cr&eacute;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&eacute; est charg&eacute;): - </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&eacute;rimental, et vous devez - compiler vous-m&ecirc;me le module pgsql apr&egrave;s avoir modifi&eacute; un - des fichiers sources. Sinon, vous aurez une alerte affich&eacute;e - &agrave; chaque requ&ecirc;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&eacute;es - actuellement selectionn&eacute;e. Le membre 'module' est &agrave; usage interne &agrave; - dbx, et contient le num&eacute;ro de module sus-cit&eacute;. Le membre - 'handle' est une resource valide de connexion &agrave; la base de donn&eacute;es, - et peut &ecirc;tre utilis&eacute; en tant que tel dans les autres fonctions - sp&eacute;cifiques &agrave; cette base de donn&eacute;es. - </para> - <para> - <informalexample> - <programlisting role="php"> -&lt;?php -$link = dbx_connect("mysql", "localhost", "base de donn&eacute;es", "utilisateur", "mot de passe"); -mysql_close($link->handle); -// dbx_close($link) est beaucoup plus adapt&eacute; ici -?&gt; - </programlisting> - </informalexample> - </para> - <para> - Les param&egrave;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&eacute;es utilis&eacute;e. - </para> - <para> - <example> - <title>Exemple avec <function>dbx_connect</function></title> - <programlisting role="php"> -&lt;?php -$link = dbx_connect("odbc", "", "base de donn&eacute;es", "utilisateur", "mot de passe", DBX_PERSISTENT) - or die ("Impossible de se connecter"); -print ("Connexion r&eacute;ussie"); -dbx_close($link); -?&gt; - </programlisting> - </example> - <note> - <para> - Reportez vous aussi &agrave; documentation de la base de donn&eacute;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&icirc;ne contenant le - message d'erreur du module s&eacute;lectionn&eacute;. S'il y a des connexions - multiples sur le m&ecirc;me module, seule la derni&egrave;re erreur est fournie. - S'il a des des connexions sur diff&eacute;rents modules, la derni&egrave;re - erreur du module est retourn&eacute; (le module est alors repr&eacute;sent&eacute; 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"> -&lt;?php -$link = dbx_connect("mysql", "localhost", "base de donn&eacute;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); -?&gt; - </programlisting> - </example> - <note> - <para> - Reportez vous aussi &agrave; documentation de la base de donn&eacute;es que vous - utilisez. - </para> - </note> - </refsect1> - </refentry> - - <refentry id="function.dbx-query"> - <refnamediv> - <refname>dbx_query</refname> - <refpurpose>Envoie une requ&ecirc;te et lit tous les r&eacute;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&egrave;s (un objet de r&eacute;sultat - ne sera retourn&eacute; que pour les requ&ecirc;tes SQL qui retournent un - r&eacute;sultat), ou 0 en cas d'erreur. Le param&egrave;tre - <parameter>flags</parameter> sert &agrave; contr&ocirc;ler la quantit&eacute; - d'informations retourn&eacute;e. Il peut &ecirc;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&eacute;sultat dans un - tableau index&eacute; (par exemple, data[2][3], o&ugrave; 2 est le num&eacute;ro - de ligne et 3 est le num&eacute;ro de colonne), dont la premi&egrave;re - colonne est index&eacute;e &agrave; 0. DBX_RESULT_ASSOC associe les noms - de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est - toujours retourn&eacute;, ind&eacute;pendamment de la valeur de - <parameter>flags</parameter>. Si DBX_RESULT_ASSOC est sp&eacute;cifi&eacute;, - DBX_RESULT_INFO est aussi retourn&eacute;, m&ecirc;me s'il n'a pas &eacute;t&eacute; - sp&eacute;cifi&eacute;. 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&egrave;re - combinaison est la valeur par d&eacute;faut de <parameter>flags</parameter>. - Les r&eacute;sultats associ&eacute;s sont en fait des r&eacute;f&eacute;rences, ce qui fait que - modifier <literal>data[0][0]</literal>, revient &agrave; modifier - <literal>data[0]['fieldnameforfirstcolumn']</literal>. - </para> - <para> - Un objet dbx_result_object a 5 membres (&eacute;ventuellement 4, suivants - les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows', - 'info' (optionnel) et 'data'. Handle est un identifiant de r&eacute;sultat, - qui peut &ecirc;tre utilis&eacute; avec les fonctions sp&eacute;cifiques &agrave; son module. - Par exemple : - </para> - <para> - <informalexample role="php"> - <programlisting> -&lt;?php -$result = dbx_query($link, "SELECT id FROM tbl"); -mysql_field_len($result->handle, 0); -?&gt; - </programlisting> - </informalexample> - </para> - <para> - Les membres cols et rows contiennent les num&eacute;ros de colonne et de - champs. - </para> - <para> - <informalexample> - <programlisting role="php"> -&lt;?php -$result = dbx_query($link, "SELECT id FROM tbl"); -echo "Taille du r&eacute;sultat: " . $result->rows . " x " . $result->cols . "&lt;br&gt;\n"; -?&gt; - </programlisting> - </informalexample> - </para> - <para> - Le membre info n'est retourn&eacute; que si DBX_RESULT_INFO et/ou - DBX_RESULT_ASSOC sont sp&eacute;cifi&eacute; dans le param&egrave;tre <parameter>flags</parameter>. - C'est un deuxi&egrave;me tableau, qui poss&egrave;de deux lignes ("name" and "type"), - pour conna&icirc;tre les informations sur les colonnes. - </para> - <para> - <informalexample> - <programlisting role="php"> -&lt;?php -$result = dbx_query($link, "SELECT id FROM tbl"); -echo "Nom de la colonne : " . $result->info["name"][0] . "&lt;br>\n"; -echo "Type de la colonne: " . $result->info["type"][0] . "&lt;br>\n"; -?&gt; - </programlisting> - </informalexample> - </para> - <para> - Le membre data contient les donn&eacute;es effectivement lues, - &eacute;ventuellement associ&eacute;es &agrave; des noms de colonnes. Si - DBX_RESULT_ASSOC est utilis&eacute;, il est possible d'utiliser - <literal>$result->data[2]["fieldname"]</literal>. - </para> - <example> - <title>Exemple avec <function>dbx_query</function></title> - <programlisting role="php"> -&lt;?php -$link = dbx_connect("odbc", "", "base de donn&eacute;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&ecirc;te a &eacute;chou&eacute;\n&lt;br>"; -elseif ($result==1) { - echo "La requ&ecirc;te a r&eacute;ussie\n&lt;br>"; -} else { - $rows=$result->rows; - $cols=$result->cols; - echo "&lt;p>table dimension: {$result->rows} x {$result->cols}&lt;br>&lt;table border=1>\n"; - echo "&lt;tr>"; - for ($col=0; $col&lt;$cols; ++$col) { - echo "&lt;td>-{$result->info["name"][$col]}-&lt;br>-{$result->info["type"][$col]}-&lt;/td>"; - } - echo "&lt;/tr>\n"; - for ($row=0; $row&lt;$rows; ++$row){ - echo "&lt;tr>"; - for ($col=0; $col&lt;$cols; ++$col) { - echo "&lt;td>-{$result->data[$row][$col]}-&lt;/td>"; - } - echo "&lt;/tr>\n"; - } - echo "&lt;/table>&lt;p>\n"; - echo "table dimension: {$result->rows} x id, parentid, description&lt;br>&lt;table border=1>\n"; - for ($row=0; $row&lt;$rows; ++$row) { - echo "&lt;tr>"; - echo "&lt;td>-{$result->data[$row]["id"]}-&lt;/td>"; - echo "&lt;td>-{$result->data[$row]["parentid"]}-&lt;/td>"; - echo "&lt;td>-{$result->data[$row]["description"]}-&lt;/td>"; - echo "&lt;/tr>\n"; - } - echo "&lt;/table>&lt;p>\n"; -} -dbx_close($link); -?&gt; - </programlisting> - </example> - <note> - <para> - Reportez vous aussi &agrave; documentation de la base de donn&eacute;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&eacute;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&egrave;s, et &false; sinon. - </para> - <example> - <title>Exemple avec <function>dbx_sort</function></title> - <programlisting role="php"> -&lt;?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&eacute;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&eacute;es sont maintenant tri&eacute;es par id&lt;br&gt;"; -dbx_query($result, "user_re_order"); -echo "Les donn&eacute;es sont maintenant tri&eacute;es par parentid, puis par id&lt;br&gt;"; -dbx_close($link); -?&gt; - </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 &eacute;gal &agrave; 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"> -&lt;?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&eacute;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&eacute;es sont maintenant tri&eacute;es par id&lt;br&gt;"; -dbx_query($result, "user_re_order"); -echo "Les donn&eacute;es sont maintenant tri&eacute;es par parentid, puis par id&lt;br&gt;"; -dbx_close($link); -?&gt; - </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&eacute;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 &eacute;gal &agrave; 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"> -&lt;?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&eacute;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&eacute;es sont maintenant tri&eacute;es par id&lt;br&gt;"; -dbx_query($result, "user_re_order"); -echo "Les donn&eacute;es sont maintenant tri&eacute;es par parentid, puis par id&lt;br&gt;"; -dbx_close($link); -?&gt; - </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&eacute;es (db pour database (base de donn&eacute;es) et 'X' pour toutes les bases support&eacute;es). Les fonctions dbx vous permettent d'acc&eacute;der &agrave; toutes les bases support&eacute;es, avec la m&ecirc;me convention. Pour cela il vous faut avoir ces fonctions compil&eacute;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&eacute;der &agrave; 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&eacute;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&eacute; avec PHP, ou bien la charger dynamiquement. Actuellement les bases MySQL, PostgreSQL, Microsoft SQL server, FrontBase et ODBC sont support&eacute;es, mais d'autres suivront bient&ocirc;t (j'esp&egrave;re). </simpara> <simpara> La documentation compl&eacute;mentaire (ajout de nouvelles bases &agrave; dbx) est accessible &agrave; <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 &agrave; 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&egrave;s, et &false; en cas d'erreur. </para> <example> <title>Exemple avec <function>dbx_close</function></title> <programlisting role="php">&lt;?php $link = dbx_connect("mysql", "localhost", "base", "utilisateur", "mot de passe") or die ("Impossible de se connecter"); print("Connexion r&eacute;ussie"); dbx_close($link);?&gt; </programlisting> </example> <note> <para> Reportez-vous aussi &agrave; la documentation de la base de donn&eacute;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 &agrave; une base de donn&eacute;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&egrave;s, &false; sinon. Si la connexion a put &ecirc;tre &eacute;tablie, mais que la base de donn&eacute;es n'a pas pu &ecirc;tre s&eacute;lectionn&eacute;e, la fonction retournera quand m&ecirc;me une ressource. Le param&egrave;tre <parameter>persistent</parameter> peut prendre la valeur DBX_PERSISTENT, pour cr&eacute;er une connexion persitante. </para> <para> Le param&egrave;tre <parameter>module</parameter> peut &ecirc;tre soit une cha&icirc;ne, soit une constante. Les valeurs possibles de <parameter>module</parameter> sont list&eacute;es ci-dessous (n'oubliez pas que cela fonctionnera que si le module associ&eacute; est charg&eacute;): </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 &eacute;tait au stade exp&eacute;rimental jusqu'en avril 2001, et vous devez compiler vous-m&ecirc;me le module pgsql apr&egrave;s avoir modifi&eacute; un des fichiers sources. Sinon, vous aurez une alerte affich&eacute;e &agrave; chaque requ&ecirc;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&eacute;es actuellement s&eacute;lectionn&eacute;e. Le membre 'module' est &agrave; usage interne &agrave; dbx, et contient le num&eacute;ro de module sus-cit&eacute;. Le membre 'handle' est une ressource valide de connexion &agrave; la base de donn&eacute;es, et peut &ecirc;tre utilis&eacute; en tant que tel dans les autres fonctions sp&eacute;cifiques &agrave; cette base de donn&eacute;es. </para> <para> Le message d'erreur pour Microsoft SQL server est actuellement le r&eacute;sultat direct de la fonction <function>mssql_get_last_message</function>. </para> <para> <informalexample> <programlisting role="php">&lt;?php$link = dbx_connect("mysql", "localhost", "base de donn&eacute;es", "utilisateur", "mot de passe");mysql_close($link->handle);// dbx_close($link) est beaucoup plus adapt&eacute; ici?&gt; </programlisting> </informalexample> </para> <para> Les param&egrave;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&eacute;es utilis&eacute;e. </para> <para> <example> <title>Exemple avec <function>dbx_connect</function></title> <programlisting role="php">&lt;?php$link = dbx_connect("odbc", "", "base de donn&eacute;es", "utilisateur", "mot de passe", DBX_PERSISTENT) or die ("Impossible de se connecter");print ("Connexion r&eacute;ussie");dbx_close($link);?&gt; </programlisting> </example> <note> <para> Reportez-vous aussi &agrave; la documentation de la base de donn&eacute;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&icirc;ne contenant le message d'erreur du module s&eacute;lectionn&eacute;. S'il y a des connexions multiples sur le m&ecirc;me module, seule la derni&egrave;re erreur est fournie. S'il a des des connexions sur diff&eacute;rents modules, la derni&egrave;re erreur du module est retourn&eacute; (le module est alors repr&eacute;sent&eacute; 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">&lt;?php$link = dbx_connect("mysql", "localhost", "base de donn&eacute;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);?&gt; </programlisting> </example> <note> <para> Reportez-vous aussi &agrave; la documentation de la base de donn&eacute;es que vous utilisez. </para> </note> </refsect1> </refentry> <refentry id="function.dbx-query"> <refnamediv> <refname>dbx_query</refname> <refpurpose>Envoie une requ&ecirc;te et lit tous les r&eacute;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&egrave;s (un objet de r&eacute;sultat ne sera retourn&eacute; que pour les requ&ecirc;tes SQL qui retournent un r&eacute;sultat), ou 0 en cas d'erreur. Le param&egrave;tre <parameter>flags</parameter> sert &agrave; contr&ocirc;ler la quantit&eacute; d'informations retourn&eacute;e. Il peut &ecirc;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&eacute;sultat dans un tableau index&eacute; (par exemple, data[2][3], o&ugrave; 2 est le num&eacute;ro de ligne et 3 est le num&eacute;ro de colonne), dont la premi&egrave;re colonne est index&eacute;e &agrave; 0. DBX_RESULT_ASSOC associe les noms de colonnes avec leurs indices. Notez que DBX_RESULT_INDEX est toujours retourn&eacute;, ind&eacute;pendamment de la valeur de <parameter>flags</parameter>. Si DBX_RESULT_ASSOC est sp&eacute;cifi&eacute;, DBX_RESULT_INFO est aussi retourn&eacute;, m&ecirc;me s'il n'a pas &eacute;t&eacute; sp&eacute;cifi&eacute;. 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&egrave;re combinaison est la valeur par d&eacute;faut de <parameter>flags</parameter>. Les r&eacute;sultats associ&eacute;s sont en fait des r&eacute;f&eacute;rences, ce qui fait que modifier <literal>data[0][0]</literal>, revient &agrave; modifier <literal>data[0]['fieldnameforfirstcolumn']</literal>. </para> <para> Un objet dbx_result_object a 5 membres (&eacute;ventuellement 4, suivants les valeurs de <parameter>flags</parameter>) : 'handle', 'cols', 'rows', 'info' (optionnel) et 'data'. Handle est un identifiant de r&eacute;sultat, qui peut &ecirc;tre utilis&eacute; avec les fonctions sp&eacute;cifiques &agrave; son module. Par exemple : </para> <para> <informalexample role="php"> <programlisting>&lt;?php$result = dbx_query($link, "SELECT id FROM tbl");mysql_field_len($result->handle, 0);?&gt; </programlisting> </informalexample> </para> <para> Les membres cols et rows contiennent les num&eacute;ros de colonne et de champs. </para> <para> <informalexample> <programlisting role="php">&lt;?php$result = dbx_query($link, "SELECT id FROM tbl");echo "Taille du r&eacute;sultat: " . $result->rows . " x " . $result->cols . "&lt;br&gt;\n";?&gt; </programlisting> </informalexample> </para> <para> Le membre info n'est retourn&eacute; que si DBX_RESULT_INFO et/ou DBX_RESULT_ASSOC sont sp&eacute;cifi&eacute; dans le param&egrave;tre <parameter>flags</parameter>. C'est un deuxi&egrave;me tableau, qui poss&egrave;de deux lignes ("name" and "type"), pour conna&icirc;tre les informations sur les colonnes. </para> <para> <informalexample> <programlisting role="php">&lt;?php$result = dbx_query($link, "SELECT id FROM tbl");echo "Nom de la colonne : " . $result->info["name"][0] . "&lt;br&gt;\n";echo "Type de la colonne: " . $result->info["type"][0] . "&lt;br&gt;\n";?&gt; </programlisting> </informalexample> </para> <para> Le membre data contient les donn&eacute;es effectivement lues, &eacute;ventuellement associ&eacute;es &agrave; des noms de colonnes. Si DBX_RESULT_ASSOC est utilis&eacute;, il est possible d'utiliser <literal>$result->data[2]["fieldname"]</literal>. </para> <example> <title>Exemple avec <function>dbx_query</function></title> <programlisting role="php">&lt;?php$link = dbx_connect("odbc", "", "base de donn&eacute;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&ecirc;te a &eacute;chou&eacute;\n&lt;br&gt;";elseif ($result==1) { echo "La requ&ecirc;te a r&eacute;ussie\n&lt;br&gt;";} else { $rows=$result->rows; $cols=$result->cols; echo "&lt;p>table dimension: {$result->rows} x {$result->cols}&lt;br&gt;&lt;table border=1>\n"; echo "&lt;tr>"; for ($col=0; $col&lt;$cols; ++$col) { echo "&lt;td>-{$result->info["name"][$col]}-&lt;br&gt;-{$result->info["type"][$col]}-&lt;/td>"; } echo "&lt;/tr>\n"; for ($row=0; $row&lt;$rows; ++$row){ echo "&lt;tr>"; for ($col=0; $col&lt;$cols; ++$col) { echo "&lt;td>-{$result->data[$row][$col]}-&lt;/td>"; } echo "&lt;/tr>\n"; } echo "&lt;/table>&lt;p>\n"; echo "table dimension: {$result->rows} x id, parentid, description&lt;br&gt;&lt;table border=1>\n"; for ($row=0; $row&lt;$rows; ++$row) { echo "&lt;tr>"; echo "&lt;td>-{$result->data[$row]["id"]}-&lt;/td>"; echo "&lt;td>-{$result->data[$row]["parentid"]}-&lt;/td>"; echo "&lt;td>-{$result->data[$row]["description"]}-&lt;/td>"; echo "&lt;/tr>\n"; } echo "&lt;/table>&lt;p>\n";}dbx_close($link);?&gt; </programlisting> </example> <note> <para> Reportez-vous aussi &agrave; la documentation de la base de donn&eacute;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&eacute;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&egrave;s, et &false; sinon. </para> <example> <title>Exemple avec <function>dbx_sort</function></title> <programlisting role="php">&lt;?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&eacute;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&eacute;es sont maintenant tri&eacute;es par id&lt;br&gt;";dbx_sort($result, "user_re_order");echo "Les donn&eacute;es sont maintenant tri&eacute;es par parentid d&eacute;croissant, puis par id&lt;br&gt;";dbx_close($link);?&gt; </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 &eacute;gal &agrave; row_b[$columnname_or_index], 1 si elle est plus grande et -1 si elle est plus petite. </para> <para> Le param&egrave;tre <parameter>comparison_type</parameter> sert utiliser le mode num&eacute;rique pour les comparaisons (il faut alors lui passer <literal>DBX_CMP_NUMBER</literal>). Par d&eacute;faut, la comparaison est textuelle (c'est-&agrave;-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">&lt;?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&eacute;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&eacute;es sont maintenant tri&eacute;es par id&lt;br&gt;";dbx_sort($result, "user_re_order");echo "Les donn&eacute;es sont maintenant tri&eacute;es par parentid d&eacute;croissant, puis par id&lt;br&gt;";dbx_close($link);?&gt; </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&eacute;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 &eacute;gal &agrave; row_b[$columnname_or_index], 1 si elle est plus grande et -1 si elle est plus petite. </para> <para> Le param&egrave;tre <parameter>comparison_type</parameter> sert utiliser le mode num&eacute;rique pour les comparaisons (il faut alors lui passer <literal>DBX_CMP_NUMBER</literal>). Par d&eacute;faut, la comparaison est textuelle (c'est-&agrave;-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">&lt;?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&eacute;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&eacute;es sont maintenant tri&eacute;es par id&lt;br&gt;";dbx_sort($result, "user_re_order");echo "Les donn&eacute;es sont maintenant tri&eacute;es par parentid d&eacute;croissant, puis par id&lt;br&gt;";dbx_close($link);?&gt; </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&egrave;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&eacute; d'utiliser cette fonction sur un - site web, car il n'est pas possible de restaurer la racine - &agrave; sa valeur initiale &agrave; la fin de la - requ&ecirc;te. Cette fonction n'est viable que lorsque PHP est - utilis&eacute; 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&eacute;ration &eacute;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&eacute;canisme pseudo-objet permet la lecture d'un dossier. - L'argument <parameter>directory</parameter> doit &ecirc;tre ouvert. - Deux propri&eacute;t&eacute;s sont disponibles une fois le dossier - ouvert : le pointeur peut &ecirc;tre utilis&eacute; 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&eacute;thodes permettent de lire, remettre - &agrave; z&eacute;ro et fermer le dossier. - <example> - <title>Exemple avec <function>dir</function></title> - <programlisting role="php"> -&lt;?php -$d = dir("/etc"); -echo "Pointeur: ".$d->handle."&lt;br>\n"; -echo "Chemin: ".$d->path."&lt;br>\n"; -while($entry=$d->read()) { - echo $entry."&lt;br>\n"; -} -$d->close(); -?&gt; - </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 - &eacute;t&eacute; 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&eacute;cup&egrave;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 &ecirc;tre utilis&eacute; avec les fonctions - <function>closedir</function>, <function>readdir</function> - et <function>rewinddir</function>. - </para> - <para> - Si le param&egrave;tre <parameter>path</parameter> n'est pas un dossier - valide, ou si le dossier ne peut &ecirc;tre acc&eacute;d&eacute; - pour des raisons de permissions ou des erreurs li&eacute;es au - syst&egrave;me de fichiers, <function>opendir</function> retourne - &false; et g&eacute;n&egrave;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"> -&lt;?php -if ($dir = @opendir("/tmp")) { - while($file = readdir($dir)) { - echo "$file\n"; - } - closedir($dir); -} -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.readdir"> - <refnamediv> - <refname>readdir</refname> - <refpurpose>Lit une entr&eacute;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&eacute; par <parameter>dir_handle</parameter>. - Les noms sont retourn&eacute;s dans n'importe quel ordre. - <example> - <title>Liste tous les fichiers du dossier courant</title> - <programlisting role="php"> -&lt;?php -$handle=opendir('.'); -echo "Pointeur de dossier: $handle\n"; -echo "Fichiers:\n"; -while ($file = readdir($handle)) { - echo "$file\n"; -} -closedir($handle); -?&gt; - </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"> -&lt;?php -$handle=opendir('.'); -while ($file = readdir($handle)) { - if ($file != "." && $file != "..") { - echo "$file\n"; - } -} -closedir($handle); -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.rewinddir"> - <refnamediv> - <refname>rewinddir</refname> - <refpurpose>Retourne &agrave; la premi&egrave;re entr&eacute;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 &agrave; la premi&egrave;re - entr&eacute;e du dossier identifi&eacute; 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&egrave;s aux dossiers</title> <titleabbrev>Dossiers</titleabbrev> <partintro> <simpara> Pour les fonctions associ&eacute;es telles que <function>dirname</function>, <function>is_dir</function>, <function>mkdir</function>, et <function>rmdir</function>, reportez-vous &agrave; la section sur le <link linkend="ref.filesystem">syst&egrave;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&eacute; d'utiliser cette fonction sur un site web, car il n'est pas possible de restaurer la racine &agrave; sa valeur initiale &agrave; la fin de la requ&ecirc;te. Cette fonction n'est viable que lorsque PHP est utilis&eacute; 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&eacute;ration &eacute;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&eacute;canisme pseudo-objet permet la lecture d'un dossier. L'argument <parameter>directory</parameter> doit &ecirc;tre ouvert. Deux propri&eacute;t&eacute;s sont disponibles une fois le dossier ouvert : le pointeur peut &ecirc;tre utilis&eacute; 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&eacute;thodes permettent de lire, remettre &agrave; z&eacute;ro et fermer le dossier. <example> <title>Exemple avec <function>dir</function></title> <programlisting role="php">&lt;?php$d = dir("/etc");echo "Pointeur: ".$d->handle."&lt;br&gt;\n";echo "Chemin: ".$d->path."&lt;br&gt;\n";while($entry=$d->read()) { echo $entry."&lt;br&gt;\n";}$d->close();?&gt; </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 &eacute;t&eacute; 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&eacute;cup&egrave;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 &ecirc;tre utilis&eacute; avec les fonctions <function>closedir</function>, <function>readdir</function> et <function>rewinddir</function>. </para> <para> Si le param&egrave;tre <parameter>path</parameter> n'est pas un dossier valide, ou si le dossier ne peut &ecirc;tre acc&eacute;d&eacute; pour des raisons de permissions ou des erreurs li&eacute;es au syst&egrave;me de fichiers, <function>opendir</function> retourne &false; et g&eacute;n&egrave;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&lt;?phpif ($dir = @opendir("/tmp")) { while($file = readdir($dir)) { echo "$file\n"; } closedir($dir);}?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.readdir"> <refnamediv> <refname>readdir</refname> <refpurpose>Lit une entr&eacute;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&eacute; par <parameter>dir_handle</parameter>. Les noms sont retourn&eacute;s dans n'importe quel ordre. <example> <title>Liste tous les fichiers du dossier courant</title> <programlisting role="php">&lt;?php $handle=opendir('.'); echo "Pointeur de dossier: $handle\n"; echo "Fichiers:\n"; while ($file = readdir($handle)) { echo "$file\n"; } closedir($handle);?&gt; </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">&lt;?php$handle=opendir('.');while ($file = readdir($handle)) { if ($file != "." &amp;&amp; $file != "..") { echo "$file\n"; }}closedir($handle);?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.rewinddir"> <refnamediv> <refname>rewinddir</refname> <refpurpose>Retourne &agrave; la premi&egrave;re entr&eacute;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 &agrave; la premi&egrave;re entr&eacute;e du dossier identifi&eacute; 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&eacute;daction, et n'est pas encore finie. Elle souffre naturellement d'un - manque de d&eacute;tails et de relecture. Soyez en pr&eacute;venu. (Damien Seguy). + manque de d&eacute;tails et de relecture. Soyez en pr&eacute;venu. (Damien + Seguy). </simpara> <simpara> Ces fonctions ne sont disponibles que si PHP a &eacute;t&eacute; @@ -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&eacute;ration. Par cons&eacute;quent, si vous voulez lire un fichier XML - et &eacute;crire sa version modifi&eacute;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&eacute;ration. Par cons&eacute;quent, si vous voulez + lire un fichier XML et &eacute;crire sa version modifi&eacute;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&eacute;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&eacute;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'&eacute;l&eacute;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&eacute;e un document XML &agrave; partir de la repr&eacute;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-&gt;new_child("HEAD", ""); $head-&gt;new_child("TITLE", "Hier der Titel"); $head-&gt;set_attribute("Language", "ge"); - $children = $head-&gt;children() + $children = $head-&gt;children(); ?&gt; </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&eacute;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&eacute;cution de programmes externes</title> <titleabbrev>Ex&eacute;cution de programmes</titleabbrev> @@ -96,7 +98,7 @@ <function>exec</function>, <function>popen</function>, <function>system</function>, et - les op&eacute;rateurs + les op&eacute;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&eacute;rateurs + <function>escapeshellcmd</function>, et les op&eacute;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&eacute;rateurs + et les op&eacute;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&eacute;rateurs + les op&eacute;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&eacute;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&eacute;cifier le chemin jusqu'&agrave; l'installation - fbsql, PHP recherchera les librairies du client fbsql dans les dossiers - habituels, sur votre syst&egrave;me. Les utilisateurs qui ont install&eacute; - FrontBase dans un dossier non standard doivent sp&eacute;cifier le chemin comme - ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. - Cela va indiquer &agrave; PHP le bon emplacement des librairies de FrontBase, - et &eacute;viter les conflits. - </simpara> - <simpara> - Plus d'informations sur FrontBase sont disponibles &agrave; - <ulink url="&url.fbsql;">&url.fbsql;</ulink>. - </simpara> - <simpara> - La documentation compl&egrave;te de FrontBase est disponible &agrave; - <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. - </simpara> - <simpara> - Le support de Frontbase a &eacute;t&eacute; ajout&eacute; 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&eacute;es par la derni&egrave;re requ&ecirc;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&eacute;es par la derni&egrave;re requ&ecirc;te INSERT, UPDATE ou DELETE, - effectu&eacute;e avec la connexion repr&eacute;sent&eacute;e par - <parameter>link_identifier</parameter>. Si ce dernier n'est pas - sp&eacute;cifi&eacute;, c'est la derni&egrave;re connexion ouverte par - <function>fbsql_connect</function> qui sera utilis&eacute;e. - </para> - <note> - <para> - Si vous utilisez les transactions, vous devez appeler - <function>fbsql_affected_rows</function> apr&egrave;s votre requ&ecirc;te - INSERT, UPDATE ou DELETE, mais pas apr&egrave;s la validation. - </para> - </note> - <para> - Si la derni&egrave;re requ&ecirc;te DELETE ne contenait pas de clause WHERE, toutes - les lignes seront effac&eacute;es, mais <function>fbsql_affected_rows</function> - retournera 0. - </para> - <note> - <para> - Lors d'une requ&ecirc;te UPDATE, FrontBase ne modifie pas les lignes dont les - anciennes valeurs sont &eacute;gales aux nouvelles. Cela fait que - <function>fbsql_affected_rows</function> ne retournera pas le nombre - de ligne trait&eacute;es, mais le nombre de lignes affect&eacute;es (modifi&eacute;es) par - la requ&ecirc;te. - </para> - </note> - <para> - Si la derni&egrave;re requ&ecirc;te &eacute;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&eacute;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'&eacute;tat courant - de la validation automatique, pour la connexion - <parameter>link_identifier</parameter>. Si le param&egrave;tre <parameter>OnOff</parameter> - est fourni, la validation automatique sera remplac&eacute;e par sa valeur (un bool&eacute;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&eacute;es - est sp&eacute;cifi&eacute;e avec le param&egrave;tre <parameter>database</parameter>, elle - deviendra la base par d&eacute;faut du nouvel utilisateur. - Le nouvel utilisateur doit &ecirc;tre sp&eacute;cifi&eacute; par son login - (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). - Si l'authentification &eacute;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&egrave;s et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_close</function> ferme la connexion au serveur - FrontBase associ&eacute; &agrave; la ressource <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, c'est la derni&egrave;re - connexion ouverte qui sera ferm&eacute;e. - </para> - <para> - Utiliser <function>fbsql_close</function> n'est pas n&eacute;cessaire, car les - liens non persistants seront automatiquement ferm&eacute; &agrave; la fin du script. - </para> - <example> - <title>Exemple avec <function>fbsql_close</function></title> - <programlisting role="php"> -&lt;?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret") - or die("Could not connect"); - print("Connect&eacute;!"); - fbsql_close($link); -?&gt; - </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 &agrave; 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&egrave;s, ou un message d'erreur en cas d'&eacute;chec. - </para> - <para> - <function>fbsql_connect</function> &eacute;tablit une connexion avec - un serveur FrontBase. Les valeur suivantes sont utilis&eacute;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&egrave;me appel est fait &agrave; <function>fbsql_connect</function> - avec les m&ecirc;mes arguments, une nouvelle connexion ne sera pas g&eacute;n&eacute;r&eacute;e, - mais la connexion d&eacute;j&agrave; ouverte sera reutilis&eacute;e, et retourn&eacute;e. - </para> - <para> - La connexion au serveur sera ferm&eacute;e d&egrave;s la fin du scrpit, &agrave; moins qu'elle - ne soit explicitement termin&eacute;e plus t&ocirc;t, avec la fonction - <function>fbsql_close</function>. - </para> - <example> - <title>Exemple avec <function>fbsql_connect</function></title> - <programlisting role="php"> -&lt;?php - $link = fbsql_connect("localhost", "_SYSTEM", "secret") - or die("Could not connect"); - print("Connected successfully"); - fbsql_close($link); -?&gt; - </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&eacute;e une base de donn&eacute;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&eacute;e une nouvelle base - de donn&eacute;es, nomm&eacute;e <parameter>database_name</parameter>, sur - le serveur rep&eacute;r&eacute; par la ressource <parameter>link_identifier</parameter>. - </para> - <example> - <title>Exemle avec <function>fbsql_create_db</function></title> - <programlisting role="php"> -&lt;?php - $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") - or die ("Impossible de se connecter"); - if (fbsql_create_db("my_db")) { - print("Base de donn&eacute;es cr&eacute;&eacute;e!\n"); - } else { - printf("Erreur de cr&eacute;ation de la base de donn&eacute;es : %s\n", fbsql_error()); - } -?&gt; - </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&eacute;place le pointeur interne de r&eacute;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&egrave;s et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_data_seek</function> d&eacute;place le pointeur interne - de ligne dans le r&eacute;sultat de requ&ecirc;te <parameter>result_identifier</parameter> - jusqu'&agrave; la ligne <parameter>row_number</parameter>. Le prochain - appel &agrave; <function>fbsql_fetch_row</function> retournera cette ligne. - </para> - <para> - Les lignes sont num&eacute;rot&eacute;es &agrave; partir de 0. - </para> - <example> - <title>Exemple avec <function>fbsql_data_seek</function></title> - <programlisting role="php"> -&lt;?php - $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") - or die ("Impossible de se connecter"); - fbsql_select_db("samp_db") - or die ("Impossible de s&eacute;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 &gt;=0; $i--) { - if (!fbsql_data_seek($result, $i)) { - printf ("Impossible d'acc&eacute;der &agrave; la ligne %d\n", $i); - continue; - } - if(!($row = fbsql_fetch_object($result))) - continue; - printf ("%s %s&lt;BR&gt;\n", $row-&gt;last_name, $row-&gt;first_name); - } - fbsql_free_result($result); -?&gt; - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-db-query"> - <refnamediv> - <refname>fbsql_db_query</refname> - <refpurpose>Envoie une requ&ecirc;te &agrave; 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&eacute;sentant un r&eacute;sultat de requ&ecirc;te en cas de succ&egrave;s, et - &false; en cas d'erreur. - </para> - <para> - <function>fbsql_db_query</function> s&eacute;lectionne la base <parameter>database</parameter> - et y ex&eacute;cute la requ&ecirc;te <parameter>query</parameter>. Si le param&egrave;tre - optionnel <parameter>link_identifier</parameter> est sp&eacute;cifi&eacute;, - <function>fbsql_db_query</function> travaillera sur cette connexion. - S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser - la derni&egrave;re connexion ouverte. Si aucune connexion n'a &eacute;t&eacute; 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&eacute;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&egrave;s et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_drop_db</function> essaie de supprimer la base - de donn&eacute;es <parameter>database_name</parameter>, sur la connexion - repr&eacute;sent&eacute;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&egrave;re connexion FrontBase, ou bien - <literal>0</literal> (z&eacute;ro) si aucune erreur n'est survenue. - </para> - <para> - Les erreurs g&eacute;n&eacute;r&eacute;es par FrontBase ne sont pas automatiquement - affich&eacute;es comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> - pour conna&icirc;tre leur code d'erreur. Notez que cette fonction ne - retourne que le code d'erreur g&eacute;n&eacute;r&eacute; par la derni&egrave;re fonction FrontBase - (hormis <function>fbsql_error</function> et - <function>fbsql_errno</function>) : si vous voulez rep&eacute;rer les - erreurs, faites le d&egrave;s que les fonctions ont &eacute;t&eacute; appel&eacute;es. - <informalexample> - <programlisting role="php"> -&lt;?php - fbsql_connect("marliesle"); - echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; - fbsql_select_db("nonexistentdb"); - echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; - $conn = fbsql_query("SELECT * FROM nonexistenttable;"); - echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; -?&gt; - </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&eacute;n&eacute;r&eacute; par le serveur FrontBase, ou bien - <literal>''</literal> (cha&icirc;ne vide) si aucune erreur n'est survenue. - </para> - <para> - Les erreurs g&eacute;n&eacute;r&eacute;es par FrontBase ne sont pas automatiquement - affich&eacute;es comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> - pour conna&icirc;tre leur code d'erreur. Notez que cette fonction ne - retourne que le code d'erreur g&eacute;n&eacute;r&eacute; par la derni&egrave;re fonction FrontBase - (hormis <function>fbsql_error</function> et - <function>fbsql_errno</function>) : si vous voulez rep&eacute;rer les - erreurs, faites le d&egrave;s que les fonctions ont &eacute;t&eacute; appel&eacute;es. - <informalexample> - <programlisting role="php"> -&lt;?php - fbsql_connect("marliesle"); - echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; - fbsql_select_db("nonexistentdb"); - echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; - $conn = fbsql_query("SELECT * FROM nonexistenttable;"); - echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; -?&gt; - </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&eacute;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&eacute;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&eacute;lior&eacute;e - de <function>fbsql_fetch_row</function>. En plus de stocker les - donn&eacute;es dans un tableau &agrave; indice num&eacute;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&ecirc;me nom, la derni&egrave;re colonne - sera utilis&eacute;e. Pour acc&eacute;der aux autres colonnes de m&ecirc;me nom, vous - devez absolument utiliser les indices num&eacute;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&eacute;tails, reportez-vous &agrave; - <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"> -&lt;?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"]."&lt;br&gt;\n"; - echo "user_id: ".$row[0]."&lt;br&gt;\n"; - echo "fullname: ".$row["fullname"]."&lt;br&gt;\n"; - echo "fullname: ".$row[1]."&lt;br&gt;\n"; - } - fbsql_free_result($result); -?&gt; - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.fbsql-fetch-assoc"> - <refnamediv> - <refname>fbsql_fetch_assoc</refname> - <refpurpose> - Lit toute une ligne de r&eacute;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&eacute;sultat <parameter>result</parameter>, ou - &false; s'il n'y a plus de lignes. - </para> - <para> - <function>fbsql_fetch_assoc</function> est &eacute;quivalent &agrave; - <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&eacute;riques, utilisez - <function>fbsql_fetch_array</function>. - </para> - <para> - SI deux colonnes (ou plus) on le m&ecirc;me nom, la derni&egrave;re colonne - sera utilis&eacute;e. Pour acc&eacute;der aux autres colonnes de m&ecirc;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&eacute;tails, reportez-vous &agrave; - <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"> -&lt;?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); -?&gt; - </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&eacute;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&eacute;sultat <parameter>result</parameter>. - </para> - <para> - <function>fbsql_fetch_field</function> sert &agrave; lire des informations - sur les champs dans le r&eacute;sultat <parameter>result</parameter>. Si le - second param&egrave;tre <parameter>field_offset</parameter> n'est pas - sp&eacute;cifi&eacute;, le champs suivant est lu. - </para> - <para> - Les propri&eacute;t&eacute;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 &ecirc;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"> -&lt;?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&eacute;es de colonnes - $i = 0; - while ($i &lt; fbsql_num_fields($result)) { - echo "Information de la colonne $i:&lt;br&gt;\n"; - $meta = fbsql_fetch_field($result); - if (!$meta) { - echo "Aucune information disponible&lt;br&gt;\n"; - } - echo "&lt;PRE&gt; -max_length: $meta-&gt;max_length -name: $meta-&gt;name -not_null: $meta-&gt;not_null -table: $meta-&gt;table -type: $meta-&gt;type -&lt;/PRE&gt;"; - $i++; - } - fbsql_free_result($result); -?&gt; - </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&eacute;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&egrave;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&eacute;sultat retourn&eacute; par <function>fbsql_fetch_row</function>, - <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> - dans un tableau &agrave; indices num&eacute;riques, commen&ccedil;ant &agrave; 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&eacute;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&eacute;t&eacute;s repr&eacute;sentent les colonnes de la ligne &agrave; lire, dans - le r&eacute;sultat <parameter>result</parameter>, ou &false; - s'il n'y a pas de ligne &agrave; lire. - </para> - <para> - <function>fbsql_fetch_object</function> est similaire &agrave; - <function>fbsql_fetch_array</function>, &agrave; la diff&eacute;rence qu'elle - retourne un objet. Nous ne pouvez alors acc&eacute;der aux donn&eacute;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&eacute;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 &agrave; - <function>fbsql_fetch_array</function> et presque aussi rapide que - <function>fbsql_fetch_row</function> (la diff&eacute;rence n'est pas - significative). - <example> - <title>Exemple avec <function>fbsql_fetch_object</function></title> - <programlisting role="php"> -&lt;?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); -?&gt; - </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&eacute;sultat sous forme de tableau num&eacute;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&eacute;sentant la ligne - courant dans le r&eacute;sultat <parameter>result</parameter>, ou bien - &false; s'il n'y a plus de lignes &agrave; lire. - </para> - <para> - <function>fbsql_fetch_row</function> lit une ligne de donn&eacute;es dans le - r&eacute;sultat <parameter>result</parameter>, et cr&eacute;e un tableau - num&eacute;rique. Chaque colonne est stock&eacute;s dans un &eacute;l&eacute;ment du tableau, dans le - m&ecirc;me ordre que dans le r&eacute;sultat. Les indices commencent &agrave; 0. - </para> - <para> - Le prochain appel &agrave; <function>fbsql_fetch_row</function> va lire - la prochaine ligne, ou bien retourner &false; s'il n'y a plus - de lignes &agrave; 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&eacute; &agrave; une colonne de r&eacute;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&eacute;sultat - <parameter>field_offset</parameter>. Les options sont retourn&eacute;es - sous la forme d'un seul mot par option, s&eacute;par&eacute;es par des espaces, - de fa&ccedil;ons &agrave; 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&eacute;ro <parameter>field_index</parameter> dans le r&eacute;sultat - <parameter>result</parameter>. <parameter>field_index</parameter> - est le r&eacute;sultat de <function>fbsql_query</function> et - <parameter>field_index</parameter> est l'offset num&eacute;rique du - champs. - </para> - <note> - <para> - <parameter>field_index</parameter> commence &agrave; 0. - </para> - <para> - e.g. L'index du trois&egrave;me champs est 2, et l'index du quatri&egrave;me champs est - 3... - </para> - </note> - <para> - <example> - <title>Exemple avec <function>fbsql_field_name</function></title> - <programlisting role="php"> -&lt;?php -// La tablea utilisateur est constitu&eacute;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); -?&gt; - </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&eacute;sultat - <parameter>result</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-field-seek"> - <refnamediv> - <refname>fbsql_field_seek</refname> - <refpurpose> - D&eacute;place le pointeur de r&eacute;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 - &agrave; la colonne <parameter>field_offset</parameter>. Si ce param&egrave;tre - est omis, <function>fbsql_fetch_field</function> retourne le - num&eacute;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&ugrave; est issue le champs d'offset <parameter>field_offset</parameter>. - Les num&eacute;ros de colonne commencent &agrave; 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 &agrave; la fonction - <function>fbsql_field_name</function>. Les arguments sont - identiques, mais le type du champs est retourn&eacute;. Il peut - valoir "int", "real", "string", "blob" ou d'autres valeurs, - comme d&eacute;crit dans <ulink url="&url.fbsql.docs;">la documentation - FrontBase</ulink>. - <example> - <title>Exemple avec <function>fbsql_field_type</function></title> - <programlisting role="php"> -&lt;?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 &lt;br&gt;"; - echo "La table dispose des champs suivants &lt;br&gt;"; - while ($i &lt; $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."&lt;br&gt;"; - $i++; - } - fbsql_close(); -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-free-result"> - <refnamediv> - <refname>fbsql_free_result</refname> - <refpurpose>Lib&egrave;re le r&eacute;sultat de la m&eacute;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&eacute;rer toute la m&eacute;moire - utilis&eacute;e par le r&eacute;sultat associ&eacute; &agrave; la ressource <parameter>result</parameter>. - </para> - <para> - <function>fbsql_free_result</function> n'a besoin d'&ecirc;tre appel&eacute; que si vous - craignez que votre script ne va consommer trop de m&eacute;moire, lorsqu'une - requ&ecirc;te retourne de tr&egrave;s grand r&eacute;sultats. Toutes les ressources - m&eacute;moire utilis&eacute;es par le script sont de toutes mani&egrave;res lib&eacute;r&eacute;es &agrave; - 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&eacute;n&eacute;r&eacute; par une requ&ecirc;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&eacute;n&eacute;r&eacute; - par la colonne de type DEFAULT UNIQUE, lors de la derni&egrave;re requ&ecirc;te - INSERT, avec la connexion <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la derni&egrave;re connexion - ouverte est utilis&eacute;e. - </para> - <para> - <function>fbsql_insert_id</function> retournera 0 si la derni&egrave;re - requ&ecirc;te n'a pas g&eacute;n&eacute;r&eacute; 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&egrave;s la requ&ecirc;te qui a g&eacute;n&eacute;r&eacute; cette valeur. - </para> - <note> - <para> - La valeur de la fonction FrontBase SQL - "<literal>LAST_INSERT_ID()</literal>" retourne toujours la derni&egrave;re - valeur g&eacute;n&eacute;r&eacute;e par DEFAULT UNIQUE et n'est jamais annul&eacute;e entre les - requ&ecirc;tes. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.fbsql-list-dbs"> - <refnamediv> - <refname>fbsql_list_dbs</refname> - <refpurpose> - Liste les bases de donn&eacute;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&eacute;sultat contenant la - liste des bases de donn&eacute;es disponibles sur le serveur - <optional>link_identifier</optional>. Utilisez la fonction - <function>fbsql_tablename</function> pour passer en revue ce - r&eacute;sultat. - </para> - <para> - <example> - <title>Exemple avec <function>fbsql_list_dbs</function></title> - <programlisting role="php"> -&lt;?php - $link = fbsql_connect('localhost', 'myname', 'secret'); - $db_list = fbsql_list_dbs($link); - while ($row = fbsql_fetch_object($db_list)) { - echo $row->Database . "\n"; - } -?&gt; - </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&eacute;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 &agrave; propos - de la table <parameter>table_name</parameter>, dans la base de donn&eacute;es - <parameter>table_name</parameter>, sur la connexion - <parameter>link_identifier</parameter>. Un r&eacute;sultat de requ&ecirc;te est - retourn&eacute;, et pourra &ecirc;tre utilis&eacute; 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&eacute;sultat est une ressource PHP, repr&eacute;sent&eacute;e par - un entier positif. <function>fbsql_list_fields</function> retourne - -1 en cas d'erreur. Une cha&icirc;ne d&eacute;crivant l'erreur sera alors plac&eacute;e dans - la variable <literal>$phperrmsg</literal>. Un message d'erreur sera - aussi affich&eacute;, &agrave; moins que la fonction n'ai &eacute;t&eacute; appel&eacute;e avec l'op&eacute;rateur - de suppression des erreurs &#64;. - </para> - <para> - <example> - <title>Exemple avec <function>fbsql_list_fields</function></title> - <programlisting role="php"> -&lt;?php - $link = fbsql_connect('localhost', 'myname', 'secret'); - $fields = fbsql_list_fields("database1", "table1", $link); - $columns = fbsql_num_fields($fields); - for ($i = 0; $i &lt; $columns; $i++) { - echo fbsql_field_name($fields, $i) . "\n";; - } -?&gt; - </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&eacute;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&eacute;es <parameter>database</parameter>, et retourne un r&eacute;sultat, - tout comme <function>fbsql_db_query</function>. - <function>fbsql_tablename</function> sert &agrave; extraire la liste des tables - dans ce r&eacute;sultat. - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-next-result"> - <refnamediv> - <refname>fbsql_next_result</refname> - <refpurpose>D&eacute;place le pointeur interne vers le r&eacute;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&eacute;cutez une proc&eacute;dure stock&eacute;e avec de multiple r&eacute;sultats, cela va - conduire le serveur &agrave; retourner plusieurs jeu de lignes. - <function>fbsql_next_result</function> va v&eacute;rifier l'existence de - plusieurs r&eacute;sultats disponibles sur le serveur. Si un autre - jeu de r&eacute;sultat existe, <function>fbsql_next_result</function> va - d&eacute;truire de r&eacute;sultat pr&eacute;c&eacute;dent, et pr&eacute;parer la lecture dans les - nouvelles lignes. - </para> - <para> - <function>fbsql_next_result</function> retourne &true; si - un autre r&eacute;sultat est disponbile, ou &false; sinon. - </para> - <example> - <title>Exemple avec <function>fbsql_next_result</function></title> - <programlisting role="php"> -&lt;?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); -?&gt; - </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&eacute;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&eacute;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&eacute;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&eacute;sultat <parameter>result</parameter>. Cette fonction - n'est valable qu'avec les commandes SELECT. Pour conna&icirc;tre le nombre - de lignes dans une requ&ecirc;te INSERT, UPDATE ou DELETE, utilisez - <function>fbsql_affected_rows</function>. - <example> - <title>Exemple <function>fbsql_num_rows</function></title> - <programlisting role="php"> -&lt;?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"; -?&gt; - </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 &agrave; 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&eacute;sentant - la connection au serveur FrontBase en cas de succ&egrave;s, ou bien - &false; en cas d'erreur. - </para> - <para> - <function>fbsql_pconnect</function> &eacute;tablit une connexion - persistante &agrave; un serveur FrontBase. En cas d'omission, les valeurs - suivantes sont utilis&eacute;es par d&eacute;faut : - <parameter>host</parameter> ='localhost', - <parameter>username</parameter> = nom de l'utilisateur qui poss&egrave;de - le processus, et <parameter>password</parameter> = pas de mot de passe. - </para> - <para> - Pour choisir le port d'acc&egrave;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&eacute;rences majeures. - </para> - <para> - Premi&egrave;rement, lors de la connexion, <function>fbsql_pconnect</function> - essaie de trouver une connexion permanante d&eacute;j&agrave; ouverte sur - cet hote, avec le m&ecirc;me nom d'utilisateur et de mot de passe. Si une - telle connexion est trouv&eacute;e, son identifiant est retourn&eacute;, - sans ouvrir de nouvelle connexion. - </para> - <para> - Deuxi&egrave;mement, la connexion au serveur MySQL ne sera pas termin&eacute;e avec la fin - du script. Au lieu de cela, le lien sera conserv&eacute; pour un prochain acc&egrave;s - (<function>fbsql_close</function> ne terminera pas une connexion persistante - &eacute;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&eacute;cute une requ&ecirc;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&ecirc;te - <parameter>query</parameter> &agrave; la base de donn&eacute;es courante, - sur le serveur repr&eacute;sent&eacute; par sa connexion <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la derni&egrave;re - connexion ouverte est utilis&eacute;e. Si aucune connexion n'a &eacute;t&eacute; ouverte, - <function>fbsql_query</function> essaie d'&eacute;tablir une connexion en - appelant la fonction <function>fbsql_connect</function> sans - aucun argument. - </para> - <note> - <para> - La requ&ecirc;te doit &ecirc;tre termin&eacute;e par un point-virgule! - </para> - </note> - <para> - <function>fbsql_query</function> retourne une ressource - en cas de succ&egrave;s, ou &false;, en cas - d'&eacute;chec. - </para> - <para> - La requ&ecirc;te suivante est invalide, et <function>fbsql_query</function> - &eacute;chouera puis retournera &false;: - <example> - <title>Exemple avec <function>fbsql_query</function>(1)</title> - <programlisting role="php"> -&lt;?php - $result = fbsql_query("SELECT * WHERE 1=1;") - or die("Requ&ecirc;te invalide"); -?&gt; - </programlisting> - </example> - </para> - <para> - La requ&ecirc;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> - &eacute;chouera puis retournera &false; : - <example> - <title>Exemple avec <function>fbsql_query</function>(2)</title> - <programlisting role="php"> -&lt;?php - $result = fbsql_query("SELECT my_col FROM my_tbl") - or die ("Invalid query"); -?&gt; - </programlisting> - </example> - </para> - <para> - <function>fbsql_query</function> &eacute;chouera si vous n'avez pas - les droits d'acc&egrave;s sur l'une des bases de donn&eacute;es utilis&eacute;e dans - la requ&ecirc;te. - </para> - <para> - Lorsque la requ&ecirc;te r&eacute;ussit, vous pouvez utilisez - <function>fbsql_num_rows</function> pour savoir combien de - lignes ont &eacute;t&eacute; retourn&eacute;e par une requ&ecirc;te SELECT, ou bien - <function>fbsql_affected_rows</function> pour les autres - requ&ecirc;tes (DELETE, INSERT, REPLACE et UPDATE). - </para> - <para> - Pour les requ&ecirc;tes SELECT, <function>fbsql_query</function> retourne - une ressource de r&eacute;sultat, que vous pouvez passer &agrave; <function>fbsql_result</function>. - Lors vous avez fini de lire le r&eacute;sultat, vous pouvez lib&eacute;rer les - ressources utilis&eacute;es en appelant - <function>fbsql_free_result</function>. Cependant, la m&eacute;moire sera automatiquement - lib&eacute;r&eacute;e &agrave; 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&eacute;es dans un r&eacute;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&eacute;sultat <parameter>result</parameter>. L'argument - <parameter>field</parameter> peut &ecirc;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 &eacute;t&eacute; alias&eacute;e, utilisez de pr&eacute;f&eacute;rence l'alias. - </para> - <para> - Lorsque vous travaillez sur de grands r&eacute;sultats, il est vivement - recommand&eacute; d'utiliser les fonctions qui lisent toute une ligne - d'un coup, plut&ocirc;t que <function>fbsql_result</function> qui - travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi - que les offset num&eacute;riques sont plus rapides que les offset - nominaux. - </para> - <para> - L'utilisation de <function>fbsql_result</function> ne doivent pas - &ecirc;tre m&eacute;lang&eacute; avec d'autres fonctions qui utilisent aussi le r&eacute;sultat - <parameter>result</parameter>. - </para> - <para> - Alternative vivement recommand&eacute;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&eacute;lectionne une base de donn&eacute;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&egrave;s et &false; en cas d'erreur. - </para> - <para> - <function>fbsql_select_db</function> remplace la base de donn&eacute;es - active courante par <parameter>database_name</parameter>, sur la - connexion ouverte et repr&eacute;sent&eacute;e par <parameter>link_identifier</parameter>. - Si <parameter>link_identifier</parameter> est omis, la derni&egrave;re - connexion ouverte sera utilis&eacute;e. Si aucune connexion n'a &eacute;t&eacute; 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&icirc;tre le num&eacute;ro de port &agrave; utiliser - pour la connexion &agrave; la base de donn&eacute;es. Si le nom de la base est un - num&eacute;ro, le syst&egrave;me l'utilisera comme num&eacute;ro de port, et ne - le demandera pas &agrave; FBExec. Le serveur Frontbase peut &ecirc;tre - d&eacute;marr&eacute; avec la commande : - <literal>FRontBase -FBExec=No -port=&lt;port number&gt; &lt;database name&gt;</literal>. - </para> - <para> - Tous les prochains appel &agrave; <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&eacute;sultat - <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> - peut &ecirc;tre utilis&eacute;e pour conna&icirc;tre le nombre de tables dans un - r&eacute;sultat. - <example> - <title>Exemple avec <function>fbsql_tablename</function></title> - <programlisting role="php"> -&lt;?php - fbsql_connect("localhost:3306"); - $result = fbsql_list_tables("wisconsin"); - $i = 0; - while ($i &lt; fbsql_num_rows($result)) { - $tb_names[$i] = fbsql_tablename($result, $i); - echo $tb_names[$i] . "&lt;br&gt;"; - $i++; - } -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.fbsql-warnings"> - <refnamediv> - <refname>fbsql_warnings</refname> - <refpurpose>Active ou d&eacute;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&eacute;sactive les alertes - FrontBase suivant que <parameter>OnOff</parameter> est &agrave; &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&eacute;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&eacute;cifier le chemin jusqu'&agrave; l'installation fbsql, PHP recherchera les librairies du client fbsql dans les dossiers habituels, sur votre syst&egrave;me. Les utilisateurs qui ont install&eacute; FrontBase dans un dossier non standard doivent sp&eacute;cifier le chemin comme ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. Cela va indiquer &agrave; PHP le bon emplacement des librairies de FrontBase, et &eacute;viter les conflits. </simpara> <simpara> Plus d'informations sur FrontBase sont disponibles &agrave; <ulink url="&url.fbsql;">&url.fbsql;</ulink>. </simpara> <simpara> La documentation compl&egrave;te de FrontBase est disponible &agrave; <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. </simpara> <simpara> Le support de Frontbase a &eacute;t&eacute; ajout&eacute; 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&eacute;es par la derni&egrave;re requ&ecirc;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&eacute;es par la derni&egrave;re requ&ecirc;te INSERT, UPDATE ou DELETE, effectu&eacute;e avec la connexion repr&eacute;sent&eacute;e par <parameter>link_identifier</parameter>. Si ce dernier n'est pas sp&eacute;cifi&eacute;, c'est la derni&egrave;re connexion ouverte par <function>fbsql_connect</function> qui sera utilis&eacute;e. </para> <note> <para> Si vous utilisez les transactions, vous devez appeler <function>fbsql_affected_rows</function> apr&egrave;s votre requ&ecirc;te INSERT, UPDATE ou DELETE, mais pas apr&egrave;s la validation. </para> </note> <para> Si la derni&egrave;re requ&ecirc;te DELETE ne contenait pas de clause WHERE, toutes les lignes seront effac&eacute;es, mais <function>fbsql_affected_rows</function> retournera 0. </para> <note> <para> Lors d'une requ&ecirc;te UPDATE, FrontBase ne modifie pas les lignes dont les anciennes valeurs sont &eacute;gales aux nouvelles. Cela fait que <function>fbsql_affected_rows</function> ne retournera pas le nombre de ligne trait&eacute;es, mais le nombre de lignes affect&eacute;es (modifi&eacute;es) par la requ&ecirc;te. </para> </note> <para> Si la derni&egrave;re requ&ecirc;te &eacute;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&eacute;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'&eacute;tat courant de la validation automatique, pour la connexion <parameter>link_identifier</parameter>. Si le param&egrave;tre <parameter>OnOff</parameter> est fourni, et vaut &true;, FBSQL va se mettre en mode d'auto-validation, et les requ&ecirc;tes seront valid&eacute;es automatiquement si aucune erreur n'est trouve&eacute;. Si le param&egrave;tre <parameter>OnOff</parameter> est fourni, et vaut &false;, FBSQL va se mettre en mode de validation manuelle, et les requ&ecirc;tes seront valid&eacute;es par l'appel de la fonction <function>fbsql_commit</function> ou annul&eacute;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&eacute;es est sp&eacute;cifi&eacute;e avec le param&egrave;tre <parameter>database</parameter>, elle deviendra la base par d&eacute;faut du nouvel utilisateur. Le nouvel utilisateur doit &ecirc;tre sp&eacute;cifi&eacute; par son login (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). Si l'authentification &eacute;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&egrave;s et &false; en cas d'erreur. </para> <para> <function>fbsql_close</function> ferme la connexion au serveur FrontBase associ&eacute; &agrave; la ressource <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, c'est la derni&egrave;re connexion ouverte qui sera ferm&eacute;e. </para> <para> Utiliser <function>fbsql_close</function> n'est pas n&eacute;cessaire, car les liens non persistants seront automatiquement ferm&eacute; &agrave; la fin du script. </para> <example> <title>Exemple avec <function>fbsql_close</function></title> <programlisting role="php">&lt;?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connect&eacute;!"); fbsql_close($link);?&gt; </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&egrave;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 &eacute;t&eacute;s pos&eacute;s sur les tables. Cette commande n'est n&eacute;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 &agrave; 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&egrave;s, ou un message d'erreur en cas d'&eacute;chec. </para> <para> <function>fbsql_connect</function> &eacute;tablit une connexion avec un serveur FrontBase. Les valeur suivantes sont utilis&eacute;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&egrave;me appel est fait &agrave; <function>fbsql_connect</function> avec les m&ecirc;mes arguments, une nouvelle connexion ne sera pas g&eacute;n&eacute;r&eacute;e, mais la connexion d&eacute;j&agrave; ouverte sera reutilis&eacute;e, et retourn&eacute;e. </para> <para> La connexion au serveur sera ferm&eacute;e d&egrave;s la fin du scrpit, &agrave; moins qu'elle ne soit explicitement termin&eacute;e plus t&ocirc;t, avec la fonction <function>fbsql_close</function>. </para> <example> <title>Exemple avec <function>fbsql_connect</function></title> <programlisting role="php">&lt;?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connected successfully"); fbsql_close($link);?&gt; </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&eacute;e une base de donn&eacute;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&eacute;e une nouvelle base de donn&eacute;es, nomm&eacute;e <parameter>database_name</parameter>, sur le serveur rep&eacute;r&eacute; par la ressource <parameter>link_identifier</parameter>. </para> <example> <title>Exemle avec <function>fbsql_create_db</function></title> <programlisting role="php">&lt;?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); if (fbsql_create_db("my_db")) { print("Base de donn&eacute;es cr&eacute;&eacute;e!\n"); } else { printf("Erreur de cr&eacute;ation de la base de donn&eacute;es : %s\n", fbsql_error()); }?&gt; </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&eacute;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&eacute;sente le nouveau BLOB. </para> <para> <function>fbsql_create_blob</function> cr&eacute;e un blob &agrave; partir des donn&eacute;es fournies par <parameter>blob_data</parameter>. La ressource retourn&eacute;e est n&eacute;cessaire aux commandes de modification et d'insertion, pour sauver le BLOB dans la base de donn&eacute;es. </para> <example> <title>Exemple avec <function>fbsql_create_blob</function></title> <programlisting role="php">&lt;?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);?&gt; </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&eacute;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&eacute;sente le nouveau CLOB. </para> <para> <function>fbsql_create_clob</function> cr&eacute;e un clob &agrave; partir des donn&eacute;es fournies par <parameter>clob_data</parameter>. La ressource retourn&eacute;e est n&eacute;cessaire aux commandes de modification et d'insertion, pour sauver le BLOB dans la base de donn&eacute;es. creates a clob from </para> <example> <title>Exemple avec <function>fbsql_create_clob</function></title> <programlisting role="php">&lt;?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);?&gt; </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&eacute;sent&eacute; par <parameter>link_identifier</parameter>. </para> <para> <function>fbsql_database_password</function> modifie et lit le mot de passe de la base de donn&eacute;es courante. Si le second param&egrave;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&eacute;cis&eacute; car le param&egrave;tre <parameter>link_identifier</parameter> n'est pas fourni, la derni&egrave;re connexion ouverte sera utilis&eacute;e. Si aucune connexion n'a &eacute;t&eacute; ouvertem PHP essaiera d'en ouvrir une en appelant la fonction <function>fbsql_connect</function>, et en utilisant la connexion qui en r&eacute;sultera (si elle r&eacute;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&eacute;place le pointeur interne de r&eacute;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&egrave;s et &false; en cas d'erreur. </para> <para> <function>fbsql_data_seek</function> d&eacute;place le pointeur interne de ligne dans le r&eacute;sultat de requ&ecirc;te <parameter>result_identifier</parameter> jusqu'&agrave; la ligne <parameter>row_number</parameter>. Le prochain appel &agrave; <function>fbsql_fetch_row</function> retournera cette ligne. </para> <para> Les lignes sont num&eacute;rot&eacute;es &agrave; partir de 0. </para> <example> <title>Exemple avec <function>fbsql_data_seek</function></title> <programlisting role="php">&lt;?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); fbsql_select_db("samp_db") or die ("Impossible de s&eacute;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 &gt;=0; $i--) { if (!fbsql_data_seek($result, $i)) { printf ("Impossible d'acc&eacute;der &agrave; la ligne %d\n", $i); continue; } if(!($row = fbsql_fetch_object($result))) continue; printf ("%s %s&lt;BR&gt;\n", $row-&gt;last_name, $row-&gt;first_name); } fbsql_free_result($result);?&gt; </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-db-query"> <refnamediv> <refname>fbsql_db_query</refname> <refpurpose>Envoie une requ&ecirc;te &agrave; 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&eacute;sentant un r&eacute;sultat de requ&ecirc;te en cas de succ&egrave;s, et &false; en cas d'erreur. </para> <para> <function>fbsql_db_query</function> s&eacute;lectionne la base <parameter>database</parameter> et y ex&eacute;cute la requ&ecirc;te <parameter>query</parameter>. Si le param&egrave;tre optionnel <parameter>link_identifier</parameter> est sp&eacute;cifi&eacute;, <function>fbsql_db_query</function> travaillera sur cette connexion. S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser la derni&egrave;re connexion ouverte. Si aucune connexion n'a &eacute;t&eacute; 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&eacute;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&eacute;sentant le statut courant. </para> <para> <function>fbsql_db_status</function> demande le statut de la base de donn&eacute;es nomm&eacute;e <parameter>database_name</parameter>. Si le param&egrave;tre <parameter>link_identifier</parameter> est omis, la connexion par d&eacute;faut sera utilis&eacute;e. </para> <para> La valeur de l'entier peut &ecirc;tre l'une des suivantes : <itemizedlist> <listitem> <simpara> &false; - Le gestion de cet h&ocirc;te &eacute;tait invalide. Cette erreur survient lorsque PHP se connecter directement &agrave; une base de donn&eacute;es en utilisant un num&eacute;ro de port. FBExec peut &ecirc;tre disponible sur un serveur, mais aucune connexion n'a &eacute;t&eacute; faite. </simpara> </listitem> <listitem> <simpara> FBSQL_UNKNOWN - Le statut est inconnu. </simpara> </listitem> <listitem> <simpara> FBSQL_STOPPED - La base de donn&eacute;es ne fonctionne pas. Utilisez <function>fbsql_start_db</function> pour d&eacute;marrer la base. </simpara> </listitem> <listitem> <simpara> FBSQL_STARTING - La base de donn&eacute;es d&eacute;marre. </simpara> </listitem> <listitem> <simpara> FBSQL_RUNNING - La base de donn&eacute;es fonctionne, et est disponible pour recevoir des requ&ecirc;tes SQL. </simpara> </listitem> <listitem> <simpara> FBSQL_STOPPING - La base de donn&eacute;es s'arr&ecirc;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&eacute;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&eacute;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&egrave;s et &false; en cas d'erreur. </para> <para> <function>fbsql_drop_db</function> essaie de supprimer la base de donn&eacute;es <parameter>database_name</parameter>, sur la connexion repr&eacute;sent&eacute;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&egrave;re connexion FrontBase, ou bien <literal>0</literal> (z&eacute;ro) si aucune erreur n'est survenue. </para> <para> Les erreurs g&eacute;n&eacute;r&eacute;es par FrontBase ne sont pas automatiquement affich&eacute;es comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour conna&icirc;tre leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur g&eacute;n&eacute;r&eacute; par la derni&egrave;re fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez rep&eacute;rer les erreurs, faites le d&egrave;s que les fonctions ont &eacute;t&eacute; appel&eacute;es. <informalexample> <programlisting role="php">&lt;?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;";?&gt; </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&eacute;n&eacute;r&eacute; par le serveur FrontBase, ou bien <literal>''</literal> (cha&icirc;ne vide) si aucune erreur n'est survenue. </para> <para> Les erreurs g&eacute;n&eacute;r&eacute;es par FrontBase ne sont pas automatiquement affich&eacute;es comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour conna&icirc;tre leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur g&eacute;n&eacute;r&eacute; par la derni&egrave;re fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez rep&eacute;rer les erreurs, faites le d&egrave;s que les fonctions ont &eacute;t&eacute; appel&eacute;es. <informalexample> <programlisting role="php">&lt;?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."&lt;br&gt;";?&gt; </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&eacute;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&eacute;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&eacute;lior&eacute;e de <function>fbsql_fetch_row</function>. En plus de stocker les donn&eacute;es dans un tableau &agrave; indice num&eacute;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&ecirc;me nom, la derni&egrave;re colonne sera utilis&eacute;e. Pour acc&eacute;der aux autres colonnes de m&ecirc;me nom, vous devez absolument utiliser les indices num&eacute;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&eacute;tails, reportez-vous &agrave; <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">&lt;?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"]."&lt;br&gt;\n"; echo "user_id: ".$row[0]."&lt;br&gt;\n"; echo "fullname: ".$row["fullname"]."&lt;br&gt;\n"; echo "fullname: ".$row[1]."&lt;br&gt;\n"; } fbsql_free_result($result);?&gt; </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-assoc"> <refnamediv> <refname>fbsql_fetch_assoc</refname> <refpurpose> Lit toute une ligne de r&eacute;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&eacute;sultat <parameter>result</parameter>, ou &false; s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_assoc</function> est &eacute;quivalent &agrave; <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&eacute;riques, utilisez <function>fbsql_fetch_array</function>. </para> <para> SI deux colonnes (ou plus) on le m&ecirc;me nom, la derni&egrave;re colonne sera utilis&eacute;e. Pour acc&eacute;der aux autres colonnes de m&ecirc;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&eacute;tails, reportez-vous &agrave; <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">&lt;?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);?&gt; </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&eacute;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&eacute;sultat <parameter>result</parameter>. </para> <para> <function>fbsql_fetch_field</function> sert &agrave; lire des informations sur les champs dans le r&eacute;sultat <parameter>result</parameter>. Si le second param&egrave;tre <parameter>field_offset</parameter> n'est pas sp&eacute;cifi&eacute;, le champs suivant est lu. </para> <para> Les propri&eacute;t&eacute;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 &ecirc;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">&lt;?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&eacute;es de colonnes $i = 0; while ($i &lt; fbsql_num_fields($result)) { echo "Information de la colonne $i:&lt;br&gt;\n"; $meta = fbsql_fetch_field($result); if (!$meta) { echo "Aucune information disponible&lt;br&gt;\n"; } echo "&lt;PRE&gt;max_length: $meta-&gt;max_lengthname: $meta-&gt;namenot_null: $meta-&gt;not_nulltable: $meta-&gt;tabletype: $meta-&gt;type&lt;/PRE&gt;"; $i++; } fbsql_free_result($result);?&gt; </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&eacute;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&egrave;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&eacute;sultat retourn&eacute; par <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> dans un tableau &agrave; indices num&eacute;riques, commen&ccedil;ant &agrave; 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&eacute;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&eacute;t&eacute;s repr&eacute;sentent les colonnes de la ligne &agrave; lire, dans le r&eacute;sultat <parameter>result</parameter>, ou &false; s'il n'y a pas de ligne &agrave; lire. </para> <para> <function>fbsql_fetch_object</function> est similaire &agrave; <function>fbsql_fetch_array</function>, &agrave; la diff&eacute;rence qu'elle retourne un objet. Nous ne pouvez alors acc&eacute;der aux donn&eacute;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&eacute;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 &agrave; <function>fbsql_fetch_array</function> et presque aussi rapide que <function>fbsql_fetch_row</function> (la diff&eacute;rence n'est pas significative). <example> <title>Exemple avec <function>fbsql_fetch_object</function></title> <programlisting role="php">&lt;?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);?&gt; </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&eacute;sultat sous forme de tableau num&eacute;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&eacute;sentant la ligne courant dans le r&eacute;sultat <parameter>result</parameter>, ou bien &false; s'il n'y a plus de lignes &agrave; lire. </para> <para> <function>fbsql_fetch_row</function> lit une ligne de donn&eacute;es dans le r&eacute;sultat <parameter>result</parameter>, et cr&eacute;e un tableau num&eacute;rique. Chaque colonne est stock&eacute;s dans un &eacute;l&eacute;ment du tableau, dans le m&ecirc;me ordre que dans le r&eacute;sultat. Les indices commencent &agrave; 0. </para> <para> Le prochain appel &agrave; <function>fbsql_fetch_row</function> va lire la prochaine ligne, ou bien retourner &false; s'il n'y a plus de lignes &agrave; 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&eacute; &agrave; une colonne de r&eacute;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&eacute;sultat <parameter>field_offset</parameter>. Les options sont retourn&eacute;es sous la forme d'un seul mot par option, s&eacute;par&eacute;es par des espaces, de fa&ccedil;ons &agrave; 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&eacute;ro <parameter>field_index</parameter> dans le r&eacute;sultat <parameter>result</parameter>. <parameter>field_index</parameter> est le r&eacute;sultat de <function>fbsql_query</function> et <parameter>field_index</parameter> est l'offset num&eacute;rique du champs. </para> <note> <para> <parameter>field_index</parameter> commence &agrave; 0. </para> <para> e.g. L'index du trois&egrave;me champs est 2, et l'index du quatri&egrave;me champs est 3... </para> </note> <para> <example> <title>Exemple avec <function>fbsql_field_name</function></title> <programlisting role="php">&lt;?php// La tablea utilisateur est constitu&eacute;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);?&gt; </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&eacute;sultat <parameter>result</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-seek"> <refnamediv> <refname>fbsql_field_seek</refname> <refpurpose> D&eacute;place le pointeur de r&eacute;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 &agrave; la colonne <parameter>field_offset</parameter>. Si ce param&egrave;tre est omis, <function>fbsql_fetch_field</function> retourne le num&eacute;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&ugrave; est issue le champs d'offset <parameter>field_offset</parameter>. Les num&eacute;ros de colonne commencent &agrave; 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 &agrave; la fonction <function>fbsql_field_name</function>. Les arguments sont identiques, mais le type du champs est retourn&eacute;. Il peut valoir "int", "real", "string", "blob" ou d'autres valeurs, comme d&eacute;crit dans <ulink url="&url.fbsql.docs;">la documentation FrontBase</ulink>. <example> <title>Exemple avec <function>fbsql_field_type</function></title> <programlisting role="php">&lt;?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 &lt;br&gt;"; echo "La table dispose des champs suivants &lt;br&gt;"; while ($i &lt; $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."&lt;br&gt;"; $i++; } fbsql_close();?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-free-result"> <refnamediv> <refname>fbsql_free_result</refname> <refpurpose>Lib&egrave;re le r&eacute;sultat de la m&eacute;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&eacute;rer toute la m&eacute;moire utilis&eacute;e par le r&eacute;sultat associ&eacute; &agrave; la ressource <parameter>result</parameter>. </para> <para> <function>fbsql_free_result</function> n'a besoin d'&ecirc;tre appel&eacute; que si vous craignez que votre script ne va consommer trop de m&eacute;moire, lorsqu'une requ&ecirc;te retourne de tr&egrave;s grand r&eacute;sultats. Toutes les ressources m&eacute;moire utilis&eacute;es par le script sont de toutes mani&egrave;res lib&eacute;r&eacute;es &agrave; 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&eacute;n&eacute;r&eacute; par une requ&ecirc;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&eacute;n&eacute;r&eacute; par la colonne de type DEFAULT UNIQUE, lors de la derni&egrave;re requ&ecirc;te INSERT, avec la connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la derni&egrave;re connexion ouverte est utilis&eacute;e. </para> <para> <function>fbsql_insert_id</function> retournera 0 si la derni&egrave;re requ&ecirc;te n'a pas g&eacute;n&eacute;r&eacute; 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&egrave;s la requ&ecirc;te qui a g&eacute;n&eacute;r&eacute; cette valeur. </para> <note> <para> La valeur de la fonction FrontBase SQL "<literal>LAST_INSERT_ID()</literal>" retourne toujours la derni&egrave;re valeur g&eacute;n&eacute;r&eacute;e par DEFAULT UNIQUE et n'est jamais annul&eacute;e entre les requ&ecirc;tes. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-dbs"> <refnamediv> <refname>fbsql_list_dbs</refname> <refpurpose> Liste les bases de donn&eacute;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&eacute;sultat contenant la liste des bases de donn&eacute;es disponibles sur le serveur <optional>link_identifier</optional>. Utilisez la fonction <function>fbsql_tablename</function> pour passer en revue ce r&eacute;sultat. </para> <para> <example> <title>Exemple avec <function>fbsql_list_dbs</function></title> <programlisting role="php">&lt;?php $link = fbsql_connect('localhost', 'myname', 'secret'); $db_list = fbsql_list_dbs($link); while ($row = fbsql_fetch_object($db_list)) { echo $row->Database . "\n"; }?&gt; </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&eacute;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 &agrave; propos de la table <parameter>table_name</parameter>, dans la base de donn&eacute;es <parameter>table_name</parameter>, sur la connexion <parameter>link_identifier</parameter>. Un r&eacute;sultat de requ&ecirc;te est retourn&eacute;, et pourra &ecirc;tre utilis&eacute; 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&eacute;sultat est une ressource PHP, repr&eacute;sent&eacute;e par un entier positif. <function>fbsql_list_fields</function> retourne -1 en cas d'erreur. Une cha&icirc;ne d&eacute;crivant l'erreur sera alors plac&eacute;e dans la variable <literal>$phperrmsg</literal>. Un message d'erreur sera aussi affich&eacute;, &agrave; moins que la fonction n'ai &eacute;t&eacute; appel&eacute;e avec l'op&eacute;rateur de suppression des erreurs &#64;. </para> <para> <example> <title>Exemple avec <function>fbsql_list_fields</function></title> <programlisting role="php">&lt;?php $link = fbsql_connect('localhost', 'myname', 'secret'); $fields = fbsql_list_fields("database1", "table1", $link); $columns = fbsql_num_fields($fields); for ($i = 0; $i &lt; $columns; $i++) { echo fbsql_field_name($fields, $i) . "\n";; }?&gt; </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&eacute;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&eacute;es <parameter>database</parameter>, et retourne un r&eacute;sultat, tout comme <function>fbsql_db_query</function>. <function>fbsql_tablename</function> sert &agrave; extraire la liste des tables dans ce r&eacute;sultat. </para> </refsect1> </refentry> <refentry id="function.fbsql-next-result"> <refnamediv> <refname>fbsql_next_result</refname> <refpurpose>D&eacute;place le pointeur interne vers le r&eacute;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&eacute;cutez une proc&eacute;dure stock&eacute;e avec de multiple r&eacute;sultats, cela va conduire le serveur &agrave; retourner plusieurs jeu de lignes. <function>fbsql_next_result</function> va v&eacute;rifier l'existence de plusieurs r&eacute;sultats disponibles sur le serveur. Si un autre jeu de r&eacute;sultat existe, <function>fbsql_next_result</function> va d&eacute;truire de r&eacute;sultat pr&eacute;c&eacute;dent, et pr&eacute;parer la lecture dans les nouvelles lignes. </para> <para> <function>fbsql_next_result</function> retourne &true; si un autre r&eacute;sultat est disponbile, ou &false; sinon. </para> <example> <title>Exemple avec <function>fbsql_next_result</function></title> <programlisting role="php">&lt;?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);?&gt; </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&eacute;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&eacute;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&eacute;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&eacute;sultat <parameter>result</parameter>. Cette fonction n'est valable qu'avec les commandes SELECT. Pour conna&icirc;tre le nombre de lignes dans une requ&ecirc;te INSERT, UPDATE ou DELETE, utilisez <function>fbsql_affected_rows</function>. <example> <title>Exemple <function>fbsql_num_rows</function></title> <programlisting role="php">&lt;?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";?&gt; </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 &agrave; 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&eacute;sentant la connection au serveur FrontBase en cas de succ&egrave;s, ou bien &false; en cas d'erreur. </para> <para> <function>fbsql_pconnect</function> &eacute;tablit une connexion persistante &agrave; un serveur FrontBase. En cas d'omission, les valeurs suivantes sont utilis&eacute;es par d&eacute;faut : <parameter>host</parameter> ='localhost', <parameter>username</parameter> = nom de l'utilisateur qui poss&egrave;de le processus, et <parameter>password</parameter> = pas de mot de passe. </para> <para> Pour choisir le port d'acc&egrave;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&eacute;rences majeures. </para> <para> Premi&egrave;rement, lors de la connexion, <function>fbsql_pconnect</function> essaie de trouver une connexion permanante d&eacute;j&agrave; ouverte sur cet hote, avec le m&ecirc;me nom d'utilisateur et de mot de passe. Si une telle connexion est trouv&eacute;e, son identifiant est retourn&eacute;, sans ouvrir de nouvelle connexion. </para> <para> Deuxi&egrave;mement, la connexion au serveur MySQL ne sera pas termin&eacute;e avec la fin du script. Au lieu de cela, le lien sera conserv&eacute; pour un prochain acc&egrave;s (<function>fbsql_close</function> ne terminera pas une connexion persistante &eacute;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&eacute;cute une requ&ecirc;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&ecirc;te <parameter>query</parameter> &agrave; la base de donn&eacute;es courante, sur le serveur repr&eacute;sent&eacute; par sa connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la derni&egrave;re connexion ouverte est utilis&eacute;e. Si aucune connexion n'a &eacute;t&eacute; ouverte, <function>fbsql_query</function> essaie d'&eacute;tablir une connexion en appelant la fonction <function>fbsql_connect</function> sans aucun argument. </para> <note> <para> La requ&ecirc;te doit &ecirc;tre termin&eacute;e par un point-virgule! </para> </note> <para> <function>fbsql_query</function> retourne une ressource en cas de succ&egrave;s, ou &false;, en cas d'&eacute;chec. </para> <para> La requ&ecirc;te suivante est invalide, et <function>fbsql_query</function> &eacute;chouera puis retournera &false;: <example> <title>Exemple avec <function>fbsql_query</function>(1)</title> <programlisting role="php">&lt;?php $result = fbsql_query("SELECT * WHERE 1=1;") or die("Requ&ecirc;te invalide");?&gt; </programlisting> </example> </para> <para> La requ&ecirc;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> &eacute;chouera puis retournera &false; : <example> <title>Exemple avec <function>fbsql_query</function>(2)</title> <programlisting role="php">&lt;?php $result = fbsql_query("SELECT my_col FROM my_tbl") or die ("Invalid query");?&gt; </programlisting> </example> </para> <para> <function>fbsql_query</function> &eacute;chouera si vous n'avez pas les droits d'acc&egrave;s sur l'une des bases de donn&eacute;es utilis&eacute;e dans la requ&ecirc;te. </para> <para> Lorsque la requ&ecirc;te r&eacute;ussit, vous pouvez utilisez <function>fbsql_num_rows</function> pour savoir combien de lignes ont &eacute;t&eacute; retourn&eacute;e par une requ&ecirc;te SELECT, ou bien <function>fbsql_affected_rows</function> pour les autres requ&ecirc;tes (DELETE, INSERT, REPLACE et UPDATE). </para> <para> Pour les requ&ecirc;tes SELECT, <function>fbsql_query</function> retourne une ressource de r&eacute;sultat, que vous pouvez passer &agrave; <function>fbsql_result</function>. Lors vous avez fini de lire le r&eacute;sultat, vous pouvez lib&eacute;rer les ressources utilis&eacute;es en appelant <function>fbsql_free_result</function>. Cependant, la m&eacute;moire sera automatiquement lib&eacute;r&eacute;e &agrave; 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&eacute;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&icirc;ne de caract&egrave;res contenant le BLOB <parameter>blob_handle</parameter>. </para> <para> <function>fbsql_read_blob</function> lit les donn&eacute;es du BLOB dans la base de donn&eacute;es. Si une s&eacute;lection contient un BLOB et/ou une colonne de type BLOB, FrontBase retournera directement les donn&eacute;es lors de la lecture. Ce comportement par d&eacute;faut peut &ecirc;tre modifi&eacute; 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">&lt;?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);?&gt; </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&eacute;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&icirc;ne de caract&egrave;res contenant le CLOB <parameter>clob_handle</parameter>. </para> <para> <function>fbsql_read_clob</function> lit les donn&eacute;es du CLOB dans la base de donn&eacute;es. Si une s&eacute;lection contient un CLOB et/ou une colonne de type CLOB, FrontBase retournera directement les donn&eacute;es lors de la lecture. Ce comportement par d&eacute;faut peut &ecirc;tre modifi&eacute; 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">&lt;?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);?&gt; </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&eacute;es dans un r&eacute;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&eacute;sultat <parameter>result</parameter>. L'argument <parameter>field</parameter> peut &ecirc;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 &eacute;t&eacute; alias&eacute;e, utilisez de pr&eacute;f&eacute;rence l'alias. </para> <para> Lorsque vous travaillez sur de grands r&eacute;sultats, il est vivement recommand&eacute; d'utiliser les fonctions qui lisent toute une ligne d'un coup, plut&ocirc;t que <function>fbsql_result</function> qui travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi que les offset num&eacute;riques sont plus rapides que les offset nominaux. </para> <para> L'utilisation de <function>fbsql_result</function> ne doivent pas &ecirc;tre m&eacute;lang&eacute; avec d'autres fonctions qui utilisent aussi le r&eacute;sultat <parameter>result</parameter>. </para> <para> Alternative vivement recommand&eacute;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&egrave;s et &false; sinon. </para> <para> <function>fbsql_rollback</function> termine la transaction courante en annulant toutes les requ&ecirc;tes &eacute;mises depuis la derni&egrave;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&egrave;s et &false; sinon. </para> <para> <function>fbsql_set_lob_mode</function> modifie le mode de lecture des LOB. Lorsque des donn&eacute;es BLOB ou CLOB sont stock&eacute;es dans une base de donn&eacute;es FrontBase, elles peuvent l'&ecirc;tre de mani&egrave;re directe ou indirecte. Si les donn&eacute;es sont stock&eacute;es directement, elles seront automatiquement lues, quelque soit le mode choisi. Si un LOB fait moins de 512 octets, il sera aussi stock&eacute; directement. <itemizedlist> <listitem> <simpara> FBSQL_LOB_DIRECT - les donn&eacute;es LOB sont lues directements. Lorsque les donn&eacute;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&eacute;es comme des colonnes habituelles. C'est le comportement par d&eacute;faut de FrontBase. </simpara> </listitem> <listitem> <simpara> FBSQL_LOB_HANDLE - Les donn&eacute;es LOB sont lues sous forme d'identifiant. Lorsque les donn&eacute;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&eacute;es sous la forme d'un identifiant. Ce identifiant sera une cha&icirc;ne de 27 caract&egrave;res de long, format&eacute;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&eacute;lectionne une base de donn&eacute;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&egrave;s et &false; en cas d'erreur. </para> <para> <function>fbsql_select_db</function> remplace la base de donn&eacute;es active courante par <parameter>database_name</parameter>, sur la connexion ouverte et repr&eacute;sent&eacute;e par <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la derni&egrave;re connexion ouverte sera utilis&eacute;e. Si aucune connexion n'a &eacute;t&eacute; 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&icirc;tre le num&eacute;ro de port &agrave; utiliser pour la connexion &agrave; la base de donn&eacute;es. Si le nom de la base est un num&eacute;ro, le syst&egrave;me l'utilisera comme num&eacute;ro de port, et ne le demandera pas &agrave; FBExec. Le serveur Frontbase peut &ecirc;tre d&eacute;marr&eacute; avec la commande : <literal>FRontBase -FBExec=No -port=&lt;port number&gt; &lt;database name&gt;</literal>. </para> <para> Tous les prochains appel &agrave; <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&eacute;marre une base de donn&eacute;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&egrave;s et &false; sinon. </para> <para> <function>fbsql_start_db</function> d&eacute;marre la base de donn&eacute;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&eacute;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&egrave;s et &false; sinon. </para> <para> <function>fbsql_stop_db</function> stoppe la base de donn&eacute;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&eacute;sultat <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> peut &ecirc;tre utilis&eacute;e pour conna&icirc;tre le nombre de tables dans un r&eacute;sultat. <example> <title>Exemple avec <function>fbsql_tablename</function></title> <programlisting role="php">&lt;?php fbsql_connect("localhost:3306"); $result = fbsql_list_tables("wisconsin"); $i = 0; while ($i &lt; fbsql_num_rows($result)) { $tb_names[$i] = fbsql_tablename($result, $i); echo $tb_names[$i] . "&lt;br&gt;"; $i++; }?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-warnings"> <refnamediv> <refname>fbsql_warnings</refname> <refpurpose>Active ou d&eacute;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&eacute;sactive les alertes FrontBase suivant que <parameter>OnOff</parameter> est &agrave; &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&egrave;res du document FDF <parameter>fdf_document</parameter>. Le param&egrave;tre <parameter>encoding</parameter> doit &ecirc;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 + &ecirc;tre "<literal>Shift-JIS</literal>", "<literal>UHC</literal>", + "<literal>GBK</literal>" ou "<literal>BigFive</literal>". </para> <para> - <function>fdf_set_encoding</function> a &eacute;t&eacute; ajout&eacute;e - en PHP 4.0.7. + <function>fdf_set_encoding</function> a &eacute;t&eacute; ajout&eacute;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&eacute;es enregistr&eacute;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&eacute;tails sur filePro &agrave; - <ulink url="&url.filepro;">&url.filepro;</ulink>. - </simpara> - </partintro> - <refentry id="function.filepro"> - <refnamediv> - <refname>filepro</refname> - <refpurpose>Lit et v&eacute;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&eacute;rifie un fichier, - puis enregistre le nombre de champs et de lignes. - </para> - <para> - Aucun verrouillage n'est pratiqu&eacute; : 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 &agrave; 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&eacute;es enregistr&eacute;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&eacute;tails sur filePro &agrave; + <ulink url="&url.filepro;">&url.filepro;</ulink>. + </simpara> + </partintro> + <refentry id="function.filepro"> + <refnamediv> + <refname>filepro</refname> + <refpurpose>Lit et v&eacute;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&eacute;rifie un fichier, + puis enregistre le nombre de champs et de lignes. + </para> + <para> + Aucun verrouillage n'est pratiqu&eacute; : il vaut alors mieux + ne pas modifier la base filePro lorsqu'elle est ouverte par PHP. + </para> + &note.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 &agrave; la + ligne <parameter>field_number</parameter>. + </para> + &note.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> + &note.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&egrave;me de fichiers</title> - <titleabbrev>Syst&egrave;me de fichiers</titleabbrev> - <refentry id="function.basename"> - <refnamediv> - <refname>basename</refname> - <refpurpose> - S&eacute;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&egrave;tre le chemin complet - d'un fichier et en extrait le nom du fichier. - </para> - <para> - Sous Windows, les caract&egrave;res (<literal>/</literal>) et antislash - (<literal>\</literal>) sont utilis&eacute;s comme s&eacute;parateurs de - dossier. Sous les autres OS, seul le caract&egrave;re slash - (<literal>/</literal>) est utilis&eacute;. - </para> - <para> - <example> - <title>Exemple avec <function>basename</function></title> - <programlisting role="php"> -&lt;?php - $path = "/home/httpd/html/index.php3"; - $file = basename($path); - // $file est affect&eacute; avec "index.php3" -?&gt; - </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&eacute;taire - du fichier. Seul le super-utilisateur (root) peut changer le groupe - propri&eacute;taire d'un fichier arbitrairement. Les utilisateurs - classiques ne peuvent changer - le groupe propri&eacute;taire d'un fichier que si l'utilisateur - propri&eacute;taire du fichier est membre du groupe. - </para> - <para> - <function>chgrp</function> renvoie &true; en - cas de succ&egrave;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 &agrave; noter que le mode <parameter>mode</parameter> est - consid&eacute;r&eacute; comme un nombre en notation octale. Afin de - vous en assurer, vous pouvez pr&eacute;fixer cette valeur par un - z&eacute;ro (<parameter>mode</parameter>): - <informalexample> - <programlisting role="php"> -&lt;?php - chmod( "/somedir/somefile", 755 ); -// notation d&eacute;cimale; probablement <literal>FALSE</literal> - chmod( "/somedir/somefile", 0755 ); -// notation octale; valeur du mode correcte -?&gt; - </programlisting> - </informalexample> - </para> - <para> - <function>chmod</function> renvoie &true; - en cas de succ&egrave;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&eacute;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&eacute;taire du fichier. - Seul le super-utilisateur (root) peut changer le propri&eacute;taire - arbitrairement d'un fichier. - </para> - <para> - <function>chown</function> renvoie &true; - en cas de succ&egrave;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&eacute;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 &agrave; la fonction <systemitem>stat</systemitem> ou - <systemitem>lstat</systemitem> est relativement co&ucirc;teux en terme de - temps d'ex&eacute;cution. Pour cela, le r&eacute;sultat du dernier - appel &agrave; l'une des fonctions de statut, (voir la liste ci-dessous), est - sauvegard&eacute; pour r&eacute;-utilisation ult&eacute;rieure. Si vous voulez - forcer la v&eacute;rification du statut d'un fichier, dans le cas o&ugrave; le - fichier aurait pu &ecirc;tre modifi&eacute; ou aurait disparu, vous - devez utiliser la fonction <function>clearstatcache</function> - afin d'effacer de la m&eacute;moire les r&eacute;sultats du dernier - appel &agrave; la fonction. - </para> - <para> - La valeur du cache n'est valable que pour la dur&eacute;e d'une requ&ecirc;te. - </para> - <para> - Les fonctions affect&eacute;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&egrave;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&eacute;ussi...&lt;br&gt;\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&eacute;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&eacute;s comme s&eacute;parateurs - de dossier. Dans les autres environnements, seul le slash - (<literal>/</literal>) est utilis&eacute;. - </para> - <para> - <example> - <title>Exemple avec <function>dirname</function></title> - <programlisting role="php"> -&lt;?php - $path = "/etc/passwd"; - $file = dirname($path); // $file contient "/etc" -?&gt; - </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&eacute;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"> -&lt;?php - $df = diskfreespace("/"); - // $df contient le nombre d'octets libres sur "/" -?&gt; - </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&eacute;cursivement toutes les tailles - du dossier <parameter>directory</parameter> et retourne la - somme. <parameter>directory</parameter> peut &ecirc;tre aussi une partition - de disque. - </para> - <para> - <example> - <title>Exemple avec <function>disk_total_space</function></title> - <programlisting role="php"> -&lt;?php - $df = disk_total_space("/"); // $df contient le nombre d'octets libres - // dans le dossier "/" -?&gt; - </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&egrave;s, - et &false; en cas d'&eacute;chec. - </para> - <para> - Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; - 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 &agrave; la fin du fichier, ou si - une erreur survient, sinon, retourne &false;. - </para> - <para> - Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; - 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&eacute;n&eacute;r&eacute; 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'&eacute;criture de toutes les - donn&eacute;es bufferis&eacute;es dans le fichier d&eacute;sign&eacute; - par <parameter>fp</parameter>. <function>fflush</function> retourne - &true; en cas de succ&egrave;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&egrave;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&icirc;ne contenant un - seul caract&egrave;re, lu depuis le fichier point&eacute; par - <parameter>fp</parameter>. <function>fgetc</function> retourne - &false; &agrave; la fin du fichier - (tout comme <function>feof</function>). - </para> - <para> - Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; - 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 &agrave; <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&eacute;limiteur de champs - <parameter>delimiter</parameter> est la virgule, &agrave; moins que vous ne - fournissiez un troisi&egrave;me argument. - </simpara> - <simpara> - <parameter>fp</parameter> doit &ecirc;tre un pointeur valide, et avoir - &eacute;t&eacute; correctement ouvert par <function>fopen</function>, - <function>popen</function>, ou <function>fsockopen</function>. - </simpara> - <simpara> - <parameter>length</parameter> doit &ecirc;tre plus grand que la plus - grande ligne trouv&eacute;e dans un fichier CSV (en comptant les - caract&egrave;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&eacute;e dans le - tableau comme une cha&icirc;ne vide, et ne sera pas trait&eacute;e comme - une erreur. - </simpara> - <example> - <title> - Exemple avec <function>fgetcsv</function> - </title> - <programlisting role="php"> -&lt;?php - $row = 1; - $fp = fopen ("test.csv","r"); - while ($data = fgetcsv ($fp, 1000, ",")) { - $num = count ($data); - print "&lt;p> $num champs dans la ligne $row: &lt;br&gt;"; - $row++; - for ($c=0; $c<$num; $c++) { - print $data[$c] . "&lt;br&gt;"; - } - } - fclose ($fp); -?&gt; - </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&icirc;ne lue jusqu'&agrave; - 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&eacute;). - </para> - <para> - Si une erreur survient, <function>fgets</function> retourne &false;. - </para> - <para> - Erreur courante : - </para> - <simpara> - Les programmeurs habitu&eacute;s &agrave; la programmation 'C' noteront que - <function>fgets</function> ne se comporte pas comme son &eacute;quivalent C - lors de la rencontre de la fin du fichier. - </simpara> - <simpara> - <parameter>fp</parameter> doit &ecirc;tre valide, et avoir &eacute;t&eacute; - 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"> -&lt;?php - $fd = fopen ("/tmp/inputfile.txt", "r"); - while (!feof($fd)) { - $buffer = fgets($fd, 4096); - echo $buffer; - } - fclose ($fd); -?&gt; - </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 - &eacute;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 &agrave; <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&eacute;ciser les balises qui seront ignor&eacute;es dans - le troisi&egrave;me param&egrave;tre, optionnel. - <note> - <para> - <parameter>allowable_tags</parameter> a &eacute;t&eacute; ajout&eacute; 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&eacute;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 &agrave; <function>readfile</function>, hormis le fait que - <function>file</function> retourne le fichier dans un tableau. Chaque - &eacute;l&eacute;ment du tableau correspond &agrave; une ligne du fichier, - et les retour-chariots sont plac&eacute;s en fin de ligne. - </para> - <para> - Vous pouvez utiliser l'option <parameter>use_include_path</parameter> : - en la mettant &agrave; "1", vous rechercherez aussi dans le dossier - <link linkend="ini.include-path">include_path</link>. - </para> - <para> - <informalexample> - <programlisting role="php"> -&lt;?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 "&lt;B&gt;Ligne $numero_ligne:&lt;/B&gt; ".htmlspecialchars( $ligne ) . "&lt;br&gt;\n"; - } -// lire une page web dans une cha&icirc;ne - $fcontents = join( '', file( 'http://www.php.net' ) ); -?&gt; - </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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <simpara> - Le r&eacute;sultat de <function>file_exists</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour - plus de d&eacute;tails. - </simpara> - </refsect1> - </refentry> - <refentry id="function.fileatime"> - <refnamediv> - <refname>fileatime</refname> - <refpurpose> - Renvoie la date &agrave; laquelle le fichier a &eacute;t&eacute; - acc&eacute;d&eacute; pour la derni&egrave;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 &agrave; laquelle le fichier - a &eacute;t&eacute; acc&eacute;d&eacute; pour la derni&egrave;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <simpara> - Le r&eacute;sultat de <function>fileatime</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;tails. - </simpara> - </refsect1> - </refentry> - <refentry id="function.filectime"> - <refnamediv> - <refname>filectime</refname> - <refpurpose> - Renvoie l'heure &agrave; laquelle l'inode a &eacute;t&eacute; - acc&eacute;d&eacute; pour la derni&egrave;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 &agrave; laquelle l'inode - <parameter>filename</parameter> a &eacute;t&eacute; acc&eacute;d&eacute; pour - la derni&egrave;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Note: Sur la plupart des serveurs UNIX, un fichier est consid&eacute;r&eacute; - comme modifi&eacute; si les donn&eacute;es de son inode sont modifi&eacute;es. - C'est-&agrave;-dire lorsque les permissions (utilisateur, groupe ou autre) ont - &eacute;t&eacute; modifi&eacute;es. Voyez aussi <function>filemtime</function> - (que vous pourrez utiliser lorsque vous cr&eacute;erez des indications - telles que "Derni&egrave;re modification : " sur les pages web) et - <function>fileatime</function>. - </para> - <para> - Notez aussi que sur certains syst&egrave;mes UNIX, le ctime d'un fichier - texte est consid&eacute;r&eacute; comme sa date de cr&eacute;ation. Cela est faux! - Il n'y a pas de date de cr&eacute;ation de fichier sous la plupart - des syst&egrave;mes UNIX. - </para> - <para> - Le r&eacute;sultat de <function>filectime</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;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&egrave;de le fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - L'identifiant de groupe est retourn&eacute; au format num&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Le r&eacute;sultat de <function>filegroup</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <note> - <simpara> - <function>filegroup</function> est inop&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.fileinode"> - <refnamediv> - <refname>fileinode</refname> - <refpurpose>Renvoie le num&eacute;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&eacute;ro d'inode du fichier - <parameter>filename</parameter>, ou &false; en cas d'erreur. - </para> - <para> - Le r&eacute;sultat de <function>fileinode</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <simpara> - <function>fileinode</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <note> - <simpara> - <function>fileinode</function> est inop&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.filemtime"> - <refnamediv> - <refname>filemtime</refname> - <refpurpose> - Renvoie la date de derni&egrave;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&egrave;re - modification du fichier <parameter>filename</parameter>, ou &false; - en cas d'erreur. - </para> - <para> - Le r&eacute;sultat de <function>filemtime</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <simpara> - <function>filemtime</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - <function>filemtime</function> retourne l'heure d'&eacute;criture - des blocs donn&eacute;es d'un fichier. Utilisez <function>date</function> - sur ce r&eacute;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&eacute;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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Le r&eacute;sultat de <function>fileowner</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <note> - <simpara> - <function>fileowner</function> est inop&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.fileperms"> - <refnamediv> - <refname>fileperms</refname> - <refpurpose> - Renvoie les permissions affect&eacute;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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Le r&eacute;sultat de <function>fileperms</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Le r&eacute;sultat de <function>filesize</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus - de d&eacute;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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Le r&eacute;sultat de <function>filetype</function> est mis en cache. - Reportez-vous &agrave; <function>clearstatcache</function> pour plus de - d&eacute;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&egrave;me complet de verrouillage de fichiers. - Tous les programmes qui acc&egrave;dent au fichier doivent utiliser la - m&ecirc;me m&eacute;thode de verrouillage pour qu'il soit efficace. - </simpara> - <simpara> - <function>flock</function> agit sur le fichier <parameter>fp</parameter> - qui doit avoir &eacute;t&eacute; ouvert au pr&eacute;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 (&eacute;criture), - <parameter>operation</parameter> = 2. - </simpara> - </listitem> - <listitem> - <simpara> - Lib&eacute;ration d'un verrou (partag&eacute; 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 &agrave; <parameter>operation</parameter>. - </simpara> - </listitem> - </itemizedlist> - </para> - <simpara> - <function>flock</function> permet de r&eacute;aliser un syst&egrave;me simple de - verrous &eacute;criture / lecture, qui peut &ecirc;tre utilis&eacute; sur - n'importe quelle plate-forme (Unix et Windows compris). - </simpara> - <simpara> - <function>flock</function> retourne &true; en cas - de succ&egrave;s, et &false; - sinon. (le verrou n'a pas pu &ecirc;tre obtenu). - </simpara> - <warning> - <para> - Sur la plupart des OS, <function>flock</function> est impl&eacute;ment&eacute; - au niveau processus. Lors de l'utilisation des API d'un serveur multi-thread, - comme ISAPI, vous ne pouvez pas vous fier &agrave; <function>flock</function> - pour prot&eacute;ger vos fichiers contre des acc&egrave;s concurrents du - m&ecirc;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 &agrave; - la casse), une connexion HTTP 1.x est ouverte avec le serveur - sp&eacute;cifi&eacute;, et un pointeur sur la r&eacute;ponse fournie est - retourn&eacute;. Une en-t&ecirc;te '<literal>Host:</literal>' est envoy&eacute; avec la - requ&ecirc;te, afin de g&eacute;rer les virtual hosts bas&eacute;s sur les noms. - </simpara> - <simpara> - Notez que le pointeur de fichier retourn&eacute; repr&eacute;sente le corps de la - r&eacute;ponse, et qu'il n'est pas possible d'acc&eacute;der aux en-t&ecirc;tes HTTP - avec cette fonction. - </simpara> - <simpara> - Les versions ant&eacute;rieures &agrave; PHP 4.0.6, ne g&egrave;re pas les - redirections automatiques, ce qui oblige &agrave; ajouter les slash finaux - "/" pour indiquer un dossier. - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par "ftp://" (insensible &agrave; - la casse), une connexion FTP est ouverte avec le serveur sp&eacute;cifi&eacute;, - et un pointeur sur la r&eacute;ponse fournie est retourn&eacute;. Si le serveur - ne supporte par le mode FTP passif, <function>fopen</function> &eacute;chouera. - Vous pouvez ouvrir des fichiers en lecture seulement, ou en &eacute;criture - seulement (le full duplex n'est pas support&eacute;). - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par "php://stdin", "php://stdout", - ou "php://stderr", le flot correspondant sera ouvert. (Cela a &eacute;t&eacute; - introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" - ou "/dev/fd/0" devaient &ecirc;tre utilis&eacute;s pour acc&eacute;der &agrave; - ces flots). - </simpara> - <simpara> - Si <parameter>filename</parameter> commence par n'importe quoi d'autre, PHP - tentera de lire ce fichier dans le syst&egrave;me local, et un pointeur sur - le fichier ouvert sera retourn&eacute;. - </simpara> - <simpara> - Si l'ouverture &eacute;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&eacute;but du fichier. - </simpara> - </listitem> - <listitem> - <simpara> - 'r+' - Ouvre en lecture et &eacute;criture, et place le pointeur de - fichier au d&eacute;but du fichier. - </simpara> - </listitem> - <listitem> - <simpara> - 'w' - Ouvre en &eacute;criture seule; place le pointeur de fichier au - d&eacute;but du fichier et r&eacute;duit la taille du fichier &agrave; 0. - Si le fichier n'existe pas, on tente de le cr&eacute;er. - </simpara> - </listitem> - <listitem> - <simpara> - 'w+' - Ouvre en lecture et &eacute;criture; place le pointeur de fichier - au d&eacute;but du fichier et r&eacute;duit la taille du fichier &agrave; - 0. Si le fichier n'existe pas, on tente de le cr&eacute;er. - </simpara> - </listitem> - <listitem> - <simpara> - 'a' - Ouvre en &eacute;criture seule; place le pointeur de fichier &agrave; - la fin du fichier file. Si le fichier n'existe pas, on tente de le - cr&eacute;er. - </simpara> - </listitem> - <listitem> - <simpara> - 'a+' - Ouvre en lecture et &eacute;criture; place le pointeur de fichier - &agrave; la fin du fichier. Si le fichier n'existe pas, on tente de le - cr&eacute;er. - </simpara> - </listitem> - </itemizedlist> - De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option - n'est utile que sur les syst&egrave;mes qui font la diff&eacute;rence entre - les fichiers binaires et les fichiers textes (en bref, c'est une - fonctionnalit&eacute; Windows, totalement inutile sous Unix). - S'il n'est pas n&eacute;cessaire, il sera ignor&eacute;. - </para> - <para> - Vous pouvez utiliser le troisi&egrave;me param&egrave;tre optionnel - pour explorer le dossier <link linkend="ini.include-path">include_path</link>, - en le mettant &agrave; 1. - </para> - <para> - <example> - <title>Exemple avec <function>fopen</function></title> - <programlisting role="php"> -&lt;?php - $fp = fopen("/home/rasmus/file.txt", "r"); - $fp = fopen("http://www.php.net/", "r"); - $fp = fopen("ftp://user:password&#64;example.com/", "w"); -?&gt; - </programlisting> - </example> - </para> - <simpara> - Si vous rencontrez des probl&egrave;mes en lecture ou &eacute;criture - de fichier et que vous utilisez PHP en version module de serveur, - n'oubliez pas que les fichiers auxquels vous acc&eacute;dez ne sont - pas n&eacute;cessairement accessibles au processus serveur. - </simpara> - <para> - Sous Windows, assurez-vous de bien &eacute;chapper les anti-slash - utilis&eacute;s dans le chemin du fichier, ou bien utilisez des slash. - <informalexample> - <programlisting role="php"> -&lt;?php - $fp = fopen("c:\\data\\info.txt", "r"); -?&gt; - </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&eacute;e apr&egrave;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'&agrave; la fin, et dirige le r&eacute;sultat vers la sortie standard. - </simpara> - <simpara> - Si une erreur survient, <function>fpassthru</function> retourne &false;. - </simpara> - <simpara> - Le pointeur de fichier doit &ecirc;tre valide, et doit avoir &eacute;t&eacute; - correctement ouvert par <function>fopen</function>, <function>popen</function>, - ou <function>fsockopen</function>. Apr&egrave;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 &eacute;pargnera - l'appel &agrave; <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&egrave;tre optionnel, - et s'il n'est pas sp&eacute;cifi&eacute;, toute la cha&icirc;ne - est &eacute;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'&agrave; <parameter>length</parameter> - octets dans le fichier ref&eacute;renc&eacute; par <parameter>fp</parameter>. - La lecture s'arr&ecirc;te lorsque <parameter>length</parameter> octets - ont &eacute;t&eacute; 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"> -&lt;?php -// Lit un fichier, et le place dans une cha&icirc;ne - $filename = "/usr/local/quelquechose.txt"; - $fd = fopen($filename, "r"); - $contents = fread($fd, filesize ($filename)); - fclose($fd); -?&gt; - </programlisting> - </informalexample> - </para> - <note> - <para> - Sur les syst&egrave;mes qui diff&eacute;rencient les fichiers - textes et binaires (i.e. Windows) le fichier doit &ecirc;tre - ouvert avec la lettre 'b' ajout&eacute;e au param&egrave;tre - de mode de la fonction <function>fopen</function>. - </para> - </note> - <note> - <para> - <informalexample> - <programlisting role="php"> -&lt;?php - $filename = "c:\\fichiers\\uneimage.gif"; - $fd = fopen($filename, "rb"); - $contents = fread($fd, filesize ($filename)); - fclose($fd); -?&gt; - </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 &agrave; - <function>sscanf</function>, mais elle prend comme - entr&eacute;e un fichier, associ&eacute; &agrave; - <parameter>handle</parameter> et l'interpr&egrave;te en - fonction du format <parameter>format</parameter>. Si - seulement deux param&egrave;tres sont pass&eacute;s - &agrave; la fonction, les valeurs analys&eacute;es seront - retourn&eacute;es sous forme de tableau. Si des arguments - optionnels sont pass&eacute;s, la fonction retournera le - nombre de valeurs assign&eacute;es. Les options doivent - &ecirc;tre pass&eacute;es par r&eacute;f&eacute;rence. - <example> - <title>Exemple <function>fscanf</function></title> - <programlisting role="php"> -&lt;?php - $fp = fopen ("users.txt","r"); - while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) { - list ($name, $profession, $countrycode) = $userinfo; - //... traitement des donn&eacute;es - } - fclose($fp); -?&gt; - </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&eacute;e en octets &agrave; partir du d&eacute;but du fichier, - est obtenue en additionnant la distance <parameter>offset</parameter> - &agrave; la position <parameter>whence</parameter>. Ce param&egrave;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&eacute;e &agrave; <parameter>offset</parameter> octets. - </member> - <member> - SEEK_END - La position finale vaut la position courante par rapport &agrave; - la fin du fichier, ajout&eacute;e de <parameter>offset</parameter>. - </member> - </simplelist> - </para> - <para> - Si <parameter>whence</parameter> n'est pas sp&eacute;cifi&eacute;e, il - vaut par d&eacute;faut SEEK_SET. - </para> - <para> - <function>fseek</function> retourne &true; en cas de - succ&egrave;s, et sinon -1. Notez que positionner le pointeur au - del&agrave; de la fin du fichier n'est pas une erreur. - </para> - <para> - <function>fseek</function> ne peut pas &ecirc;tre utilis&eacute; sur les pointeurs - retourn&eacute;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 &agrave; 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&icirc;t le pointeur <parameter>fp</parameter>. <function>fstat</function> - est similaire &agrave; 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 &eacute;l&eacute;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&eacute;taire </simpara></listitem> - <listitem><simpara>6 : id du groupe propri&eacute;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&egrave;s </simpara></listitem> - <listitem><simpara>10 : date de la derni&egrave;re modification </simpara></listitem> - <listitem><simpara>11 : date du dernier changement </simpara></listitem> - <listitem><simpara>12 : taille de bloc du syst&egrave;me pour les entr&eacute;es/sorties(*)</simpara></listitem> - <listitem><simpara>13 : Nombre de blocs allou&eacute;s</simpara></listitem> - </itemizedlist> - * - uniquement sur les syst&egrave;mes qui supportent le type st_blksize. - Les autres syst&egrave;mes (i.e. Windows) retournent -1. - </para> - <para> - Les r&eacute;sultats de <function>fstat</function> sont mis en cache. - Reportez-vous &agrave; la fonction <function>clearstatcache</function> - pour plus de d&eacute;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&eacute;r&eacute; 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 &ecirc;tre valide, et avoir &eacute;t&eacute; - 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 &agrave; la taille de - <parameter>size</parameter>.<function>ftruncate</function> retourne - &true; en cas de succ&egrave;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> &eacute;crit le contenu de la cha&icirc;ne - <parameter>string</parameter> dans le fichier point&eacute; par - <parameter>fp</parameter>. Si la longueur <parameter>length</parameter> - est fournie, l'&eacute;criture s'arr&ecirc;tera apr&egrave;s - <parameter>length</parameter> octets, ou &agrave; la fin de la - cha&icirc;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&eacute;e, et les slash seront conserv&eacute;s. - </simpara> - <note> - <para> - De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option - n'est utile que sur les syst&egrave;mes qui font la diff&eacute;rence entre - les fichiers binaires et les fichiers textes (en bref, c'est une - fonctionnalit&eacute; Windows, totalement inutile sous Unix). - S'il n'est pas n&eacute;cessaire, il sera ignor&eacute;. - </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'&eacute;criture de fichier avec <function>fwrite</function> utilise normalement - un buffer de 8K. Cela signifie que si deux processus essaient d'&eacute;crire - dans le m&ecirc;me fichier, ils font une pause tous les 8ko pour laisser le temps - &agrave; l'autre d'&eacute;crire &agrave; son tour. - <function>set_file_buffer</function> permet de modifier la taille du buffer de - sortie pour le pointeur de fichier <parameter>fp</parameter> &agrave; - <parameter>buffer</parameter> octets. Si <parameter>buffer</parameter> vaut 0, - l'&eacute;criture se fera sans buffer. Cela force un processus &agrave; &eacute;crire - toutes ses donn&eacute;es dans un fichier avant que les autres puissent y acc&eacute;der. - </simpara> - <simpara> - <function>set_file_buffer</function> retourne 0 en cas de succ&egrave;s, ou - EOF si la requ&ecirc;te ne peut pas &ecirc;tre honor&eacute;e. - </simpara> - <para> - L'exemple suivant montre comment utiliser la fonction - <function>set_file_buffer</function> pour cr&eacute;er un fichier - sans buffer. - <example> - <title>Exemple avec <function>set_file_buffer</function></title> - <programlisting role="php"> -&lt;?php - $fp=fopen($file, "w"); - if($fp){ - set_file_buffer($fp, 0); - fputs($fp, $output); - fclose($fp); - } -?&gt; - </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&eacute;sultat de <function>is_dir</function> est mis en cache. Voir la fonction - <function>clearstatcache</function> pour plus de d&eacute;tails. - </para> - <simpara> - <function>is_dir</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;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&eacute;cutable. - </para> - <para> - Le r&eacute;sultat de <function>is_executable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <simpara> - <function>is_executable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;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&eacute;sultat de <function>is_file</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <simpara> - <function>is_file</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;sultat de <function>is_link</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <simpara> - <function>is_link</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.is-readable"> - <refnamediv> - <refname>is_readable</refname> - <refpurpose>Indique un fichier est autoris&eacute; 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&egrave;de aux fichiers avec les m&ecirc;mes - autorisations que l'utilisateur qui fait tourner le serveur web - (souvent, c'est 'nobody', personne). - </para> - <para> - Le r&eacute;sultat de <function>is_readable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - d&eacute;tails. - </para> - <simpara> - <function>is_readable</function> ne fonctionne pas sur les - <link linkend="features.remote-files">fichiers distants</link>. - Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute; en &eacute;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 &eacute;criture. - </para> - <para> - N'oubliez pas que PHP acc&egrave;de aux fichiers avec les m&ecirc;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 &ecirc;tre accessibles par le syst&egrave;me de fichier - du serveur. - </simpara> - <para> - Le r&eacute;sultat de <function>is_writable</function> est mis en cache. - Voir la fonction <function>clearstatcache</function> pour plus de - d&eacute;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&eacute; en &eacute;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 &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; - 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 &agrave; 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 &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; - par HTTP POST. Cela est tr&egrave;s utile pour vous assurer qu'un - utilisateur n'essaie pas d'acc&eacute;der intentionnellement &agrave; - un fichier auquel il n'a pas droit (comme <filename>/etc/passwd</filename>). - </para> - <para> - Ce type de v&eacute;rification est sp&eacute;cialement important s'il est - possible que les fichiers t&eacute;l&eacute;charg&eacute;s - r&eacute;v&eacute;lent leur contenu &agrave; l'utilisateur, ou - m&ecirc;me aux utilisateurs du m&ecirc;me syst&egrave;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&eacute;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&eacute;e un lien. - </para> - <para> - Voir aussi - <function>symlink</function> pour cr&eacute;er des liens - symboliques et - <function>readlink</function> avec <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>link</function> est inop&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.linkinfo"> - <refnamediv> - <refname>linkinfo</refname> - <refpurpose>Renvoie les informations &agrave; 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 &agrave; propos - d'un lien, c'est-&agrave;-dire le champs st_dev de la structure d'information UNIX - (comme en langage C). <function>linkinfo</function> sert &agrave; v&eacute;rifier - si un lien (rep&eacute;r&eacute; par <parameter>path</parameter>) - existe (en utilisant la m&ecirc;me m&eacute;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&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.mkdir"> - <refnamediv> - <refname>mkdir</refname> - <refpurpose>Cr&eacute;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&eacute;er un dossier dans - le chemin <parameter>pathname</parameter>. - </para> - <para> - Notez que vous aurez &agrave; pr&eacute;ciser le mode en base octale, - ce qui signifie que vous aurez probablement un 0 comme premier chiffre. - Le mode sera aussi modifi&eacute; par le umask courant, que vous pouvez - modifier avec la fonction <function>umask</function>. - <informalexample> - <programlisting role="php"> -&lt;?php - mkdir ("/chemin/de/mon/dossier", 0700); -?&gt; - </programlisting> - </informalexample> - </para> - <para> - <function>mkdir</function> retourne &true; en cas de - succ&egrave;s, et &false; en cas d'&eacute;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&eacute;place un fichier t&eacute;l&eacute;charg&eacute;.</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 &agrave; 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&eacute;l&eacute;charg&eacute; - par HTTP POST. Si le fichier est valide, il est d&eacute;plac&eacute; - jusqu'&agrave; <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&eacute;l&eacute;charg&eacute;, mais que pour une raison - quelconque, il ne peut &ecirc;tre d&eacute;plac&eacute;, rien ne se passe, - et <function>move_uploaded_file</function> retourne &false;. - De plus, une alerte sera affich&eacute;e. - </para> - <para> - Ce type de v&eacute;rification est sp&eacute;cialement important s'il - est possible que les fichiers t&eacute;l&eacute;charg&eacute;s - r&eacute;v&egrave;lent leur contenu &agrave; l'utilisateur, - ou m&ecirc;me aux utilisateurs du m&ecirc;me syst&egrave;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&egrave;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 &eacute;l&eacute;ments suivants sont retourn&eacute;s : - <parameter>dirname</parameter>, <parameter>basename</parameter> - et <parameter>extension</parameter>. - </para> - <para> - <example> - <title>Exemple avec <function>pathinfo</function></title> - <programlisting role="php"> -&lt;?php - $path_parts = pathinfo("/www/htdocs/index.html"); - echo $path_parts["dirname"] . "\n"; - echo $path_parts["basename"] . "\n"; - echo $path_parts["extension"] . "\n"; -?&gt; - </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 &ecirc;tre valide, et avoir - &eacute;t&eacute; ouvert correctement par <function>popen</function>. - </para> - <para> - <function>pclose</function> retourne le statut final du processus - ex&eacute;cut&eacute;. - </para> - <para> - Voir aussi - <function>popen</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.popen"> - <refnamediv> - <refname>popen</refname> - <refpurpose>Cr&eacute;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 &agrave; celui retourn&eacute; par <function>fopen</function>, - hormis le fait qu'il sera unidirectionnel (lecture seule, ou - &eacute;criture seule), et doit &ecirc;tre termin&eacute; par - <function>pclose</function>. Ce pointeur peut &ecirc;tre utilis&eacute; - 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"> -&lt;?php - $fp = popen("/bin/ls", "r"); -?&gt; - </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 &agrave; 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 - &agrave; la casse), une connexion HTTP 1.0 sera ouverte avec le serveur - sp&eacute;cifi&eacute;, et le texte de la r&eacute;ponse sera affich&eacute; - sur la sortie standard. - </para> - <simpara> - Les versions ant&eacute;rieures &agrave; PHP 4.0.6, ne g&egrave;re pas les redirections automatiques, - ce qui oblige &agrave; ajouter les slash finaux "/" pour indiquer un dossier. - </simpara> - <para> - Si <parameter>filename</parameter> commence par "ftp://" (insensible - &agrave; la casse), une connexion FTP est ouverte avec l'h&ocirc;te - sp&eacute;cifi&eacute; et la r&eacute;ponse du serveur est affich&eacute;e. - Si le serveur ne supporte les connexions passives, la requ&ecirc;te - &eacute;chouera. - </para> - <para> - Si <parameter>filename</parameter> ne commence par aucun des cas - pr&eacute;c&eacute;dents, le fichier sera ouvert sur l'h&ocirc;te - local, et envoy&eacute; &agrave; la sortie standard. - </para> - <para> - Vous pouvez utiliser le deuxi&egrave;me param&egrave;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&ecirc;me chose que la fonction - readlink en C : elle retourne le contenu du lien symbolique - rep&eacute;r&eacute; 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&eacute;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&egrave;s - et &false; sinon. - </para> - </refsect1> - </refentry> - <refentry id="function.rewind"> - <refnamediv> - <refname>rewind</refname> - <refpurpose>Replace le pointeur de fichier au d&eacute;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&eacute;but. - </para> - <para> - Si une erreur survient, retourne &false;. - </para> - <para> - Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; - 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 &ecirc;tre vide, - et le script doit avoir les autorisations ad&eacute;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 &agrave; 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 &agrave; propos du - fichier filename. - </para> - <para> - <function>stat</function> retourne un tableau avec les &eacute;l&eacute;ments suivants : - <itemizedlist> - <listitem><simpara>0 : volume </simpara></listitem> - <listitem><simpara>1 : inode</simpara></listitem> - <listitem> - <simpara> - 2 : droits d'acc&egrave;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&eacute;taire </simpara></listitem> - <listitem><simpara>5 : id du groupe propri&eacute;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&egrave;s </simpara></listitem> - <listitem><simpara>9 : date de la derni&egrave;re modification </simpara></listitem> - <listitem><simpara>10 : date du dernier changement </simpara></listitem> - <listitem><simpara>11 : taille de bloc du syst&egrave;me pour les entr&eacute;es/sorties * </simpara></listitem> - <listitem><simpara>12 : nombre de blocs allou&eacute;s</simpara></listitem> - </itemizedlist> - * - uniquement sur les syst&egrave;mes qui supportent le type st_blksize. - Les autres syst&egrave;mes (i.e. Windows) retournent -1. - </para> - <para> - <function>stat</function> retourne &false; en cas d'erreur. - </para> - <para> - <function>stat</function> ne g&egrave;re pas les URL comme peut le - faire <function>fopen</function>. - </para> - <para> - Les r&eacute;sultats de <function>stat</function> sont mis en cache. - Reportez-vous &agrave; la fonction <function>clearstatcache</function> pour - plus de d&eacute;tails. - </para> - </refsect1> - </refentry> - <refentry id="function.lstat"> - <refnamediv> - <refname>lstat</refname> - <refpurpose> - Renvoie les informations &agrave; 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 &agrave; <function>stat</function> - mais elle accepte aussi un lien symbolique comme argument. - </para> - <para> - <function>lstat</function> retourne un tableau avec les &eacute;l&eacute;ments suivants : - <itemizedlist> - <listitem><simpara>0 : volume </simpara></listitem> - <listitem><simpara>1 : inode</simpara></listitem> - <listitem> - <simpara> - 2 : droits d'acc&egrave;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&eacute;taire </simpara></listitem> - <listitem><simpara>5 : id du groupe propri&eacute;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&egrave;s </simpara></listitem> - <listitem><simpara>9 : date de la derni&egrave;re modification </simpara></listitem> - <listitem><simpara>10 : date du dernier changement </simpara></listitem> - <listitem><simpara>11 : taille de bloc du syst&egrave;me pour les entr&eacute;es/sorties * </simpara></listitem> - <listitem><simpara>12 : nombre de blocs allou&eacute;s</simpara></listitem> - </itemizedlist> - * - uniquement sur les syst&egrave;mes qui supportent le type st_blksize. - Les autres syst&egrave;mes (i.e. Windows) retournent -1. - </para> - <para> - Les r&eacute;sultats de <function>lstat</function> sont mis en cache. - Reportez-vous &agrave; la fonction <function>clearstatcache</function> - pour plus de d&eacute;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&eacute;soud tous les liens symboliques, et - remplace toutes les r&eacute;f&eacute;rences '/./', '/../' et '/' de - <parameter>path</parameter> puis retourne le chemin canonique absolu - ainsi trouv&eacute;. Le r&eacute;sultat ne contient aucun lien symbolique, - '/./' ou '/../'. - </para> - <para> - <example> - <title>Exemple <function>realpath</function></title> - <programlisting role="php"> -&lt;?php - $real_path = realpath("../../index.php"); -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.symlink"> - <refnamediv> - <refname>symlink</refname> - <refpurpose>Cr&eacute;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&eacute;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&eacute;er des liens durs et - <function>readlink</function> ainsi que <function>linkinfo</function>. - </para> - <note> - <simpara> - <function>symlink</function> est inop&eacute;rante sous Windows. - </simpara> - </note> - </refsect1> - </refentry> - <refentry id="function.tempnam"> - <refnamediv> - <refname>tempnam</refname> - <refpurpose>Cr&eacute;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&eacute;e un fichier temporaire unique - dans le dossier <parameter>dir</parameter>. Si le dossier n'existe pas, - <function>tempnam</function> va g&eacute;n&eacute;rer un nom de fichier - dans le dossier temporaire du syst&egrave;me. - </para> - <para> - Avant PHP 4.0.6, le comportement de <function>tempnam</function> d&eacute;pendait - de l'OS sous-jacent. Sous Windows, la variable d'environnement - TMP remplace le param&egrave;tre <parameter>dir</parameter>; sous Linux, la - variable d'environnement TMPDIR a la priorit&eacute;, tandis que pour les - OS en syst&egrave;me V R4, le param&egrave;tre <parameter>dir</parameter> sera toujours - utilis&eacute;, si le dossier qu'il repr&eacute;sente existe. Consultez votre - documentation pour plus de d&eacute;tails. - </para> - <para> - <function>tempnam</function> retourne le nom du fichier temporaire, ou - la cha&icirc;ne &null; en cas d'&eacute;chec. - <example> - <title>Exemple avec <function>tempnam</function></title> - <programlisting role="php"> -&lt;?php - $tmpfname = tempnam("/tmp", "FOO"); -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.tmpfile"> - <refnamediv> - <refname>tmpfile</refname> - <refpurpose>Cr&eacute;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&eacute;e un fichier temporaire - avec un nom unique, ouvert en &eacute;criture, et retourne un - pointeur de fichier, identique &agrave; ceux retourn&eacute;s par - <function>fopen</function>. - Ce fichier sera automatiquement effac&eacute; lorsqu'il sera - ferm&eacute; (avec <function>fclose</function>), ou lorsque le script - sera termin&eacute;. - </para> - <para> - Pour plus de d&eacute;tails, consultez votre documentation syst&egrave;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 &agrave; 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&eacute; <parameter>filename</parameter> &agrave; la date de - <parameter>time</parameter>. Si <parameter>time</parameter> est omis, - c'est l'heure courante qui est utilis&eacute;e. - </para> - <para> - Si le fichier n'existe pas, il est cr&eacute;&eacute;. - </para> - <para> - <function>touch</function> retourne &true; en cas de succ&egrave;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 &eacute;t&eacute; fix&eacute;e &agrave; maintenant"; -} else { - print "D&eacute;sol&eacute;, 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&eacute; comme module de serveur, - le umask reprend sa valeur &agrave; la fin de chaque script. - </para> - <para> - <function>umask</function> appel&eacute; 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 &agrave; la fonction Unix C unlink(). - </para> - <para> - <function>unlink</function> retourne &false; en cas - d'&eacute;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&egrave;me de fichiers</title> <titleabbrev>Syst&egrave;me de fichiers</titleabbrev> <refentry id="function.basename"> <refnamediv> <refname>basename</refname> <refpurpose> S&eacute;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&egrave;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&eacute;. </para> <para> Sous Windows, les caract&egrave;res (<literal>/</literal>) et antislash (<literal>\</literal>) sont utilis&eacute;s comme s&eacute;parateurs de dossier. Sous les autres OS, seul le caract&egrave;re slash (<literal>/</literal>) est utilis&eacute;. </para> <para> <example> <title>Exemple avec <function>basename</function></title> <programlisting role="php">&lt;?php $path = "/home/httpd/html/index.php3"; $file = basename($path); // $file est affect&eacute; avec "index.php3"?&gt; </programlisting> </example> </para> <para> Voir aussi <function>dirname</function>. </para> <note> <para> <parameter>suffix</parameter> a &eacute;t&eacute; ajout&eacute; 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&eacute;taire du fichier. Seul le super-utilisateur (root) peut changer le groupe propri&eacute;taire d'un fichier arbitrairement. Les utilisateurs classiques ne peuvent changer le groupe propri&eacute;taire d'un fichier que si l'utilisateur propri&eacute;taire du fichier est membre du groupe. </para> <para> <function>chgrp</function> renvoie &true; en cas de succ&egrave;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 &agrave; noter que le mode <parameter>mode</parameter> est consid&eacute;r&eacute; comme un nombre en notation octale. Afin de vous en assurer, vous pouvez pr&eacute;fixer cette valeur par un z&eacute;ro (<parameter>mode</parameter>): <informalexample> <programlisting role="php">&lt;?php chmod( "/somedir/somefile", 755 );// notation d&eacute;cimale; probablement <literal>FALSE</literal> chmod( "/somedir/somefile", 0755 );// notation octale; valeur du mode correcte?&gt; </programlisting> </informalexample> </para> <para> <function>chmod</function> renvoie &true; en cas de succ&egrave;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&eacute;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&eacute;taire du fichier. Seul le super-utilisateur (root) peut changer le propri&eacute;taire arbitrairement d'un fichier. </para> <para> <function>chown</function> renvoie &true; en cas de succ&egrave;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&eacute;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 &agrave; la fonction <systemitem>stat</systemitem> ou <systemitem>lstat</systemitem> est relativement co&ucirc;teux en terme de temps d'ex&eacute;cution. Pour cela, le r&eacute;sultat du dernier appel &agrave; l'une des fonctions de statut, (voir la liste ci-dessous), est sauvegard&eacute; pour r&eacute;-utilisation ult&eacute;rieure. Si vous voulez forcer la v&eacute;rification du statut d'un fichier, dans le cas o&ugrave; le fichier aurait pu &ecirc;tre modifi&eacute; ou aurait disparu, vous devez utiliser la fonction <function>clearstatcache</function> afin d'effacer de la m&eacute;moire les r&eacute;sultats du dernier appel &agrave; la fonction. </para> <para> La valeur du cache n'est valable que pour la dur&eacute;e d'une requ&ecirc;te. </para> <para> Les fonctions affect&eacute;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&egrave;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&eacute;ussi...&lt;br&gt;\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&eacute;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&eacute;s comme s&eacute;parateurs de dossier. Dans les autres environnements, seul le slash (<literal>/</literal>) est utilis&eacute;. </para> <para> <example> <title>Exemple avec <function>dirname</function></title> <programlisting role="php">&lt;?php $path = "/etc/passwd"; $file = dirname($path); // $file contient "/etc"?&gt; </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&eacute;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">&lt;?php $df = disk_free_space("/"); // $df contient le nombre d'octets libres sur "/"?&gt; </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&egrave;te, et il est vivement recommand&eacute; 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&eacute;cursivement toutes les tailles du dossier <parameter>directory</parameter> et retourne la somme. <parameter>directory</parameter> peut &ecirc;tre aussi une partition de disque. </para> <para> <example> <title>Exemple avec <function>disk_total_space</function></title> <programlisting role="php">&lt;?php $df = disk_total_space("/"); // $df contient le nombre d'octets libres // dans le dossier "/"?&gt; </programlisting> </example> </para> &note.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&egrave;s, et &false; en cas d'&eacute;chec. </para> <para> Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; 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 &agrave; la fin du fichier, ou si une erreur survient, sinon, retourne &false;. </para> <para> Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; 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&eacute;n&eacute;r&eacute; 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'&eacute;criture de toutes les donn&eacute;es bufferis&eacute;es dans le fichier d&eacute;sign&eacute; par <parameter>fp</parameter>. <function>fflush</function> retourne &true; en cas de succ&egrave;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&egrave;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&icirc;ne contenant un seul caract&egrave;re, lu depuis le fichier point&eacute; par <parameter>fp</parameter>. <function>fgetc</function> retourne &false; &agrave; la fin du fichier (tout comme <function>feof</function>). </para> <para> Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; 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 &agrave; <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&eacute;limiteur de champs <parameter>delimiter</parameter> est la virgule, &agrave; moins que vous ne fournissiez un troisi&egrave;me argument. </simpara> <simpara> <parameter>fp</parameter> doit &ecirc;tre un pointeur valide, et avoir &eacute;t&eacute; correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. </simpara> <simpara> <parameter>length</parameter> doit &ecirc;tre plus grand que la plus grande ligne trouv&eacute;e dans un fichier CSV (en comptant les caract&egrave;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&eacute;e dans le tableau comme une cha&icirc;ne vide, et ne sera pas trait&eacute;e comme une erreur. </simpara> <example> <title> Exemple avec <function>fgetcsv</function> </title> <programlisting role="php">&lt;?php $row = 1; $fp = fopen ("test.csv","r"); while ($data = fgetcsv ($fp, 1000, ",")) { $num = count ($data); print "&lt;p> $num champs dans la ligne $row: &lt;br&gt;"; $row++; for ($c=0; $c<$num; $c++) { print $data[$c] . "&lt;br&gt;"; } } fclose ($fp);?&gt; </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&icirc;ne lue jusqu'&agrave; 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&eacute;). </para> <para> Si une erreur survient, <function>fgets</function> retourne &false;. </para> <para> Erreur courante : </para> <simpara> Les programmeurs habitu&eacute;s &agrave; la programmation 'C' noteront que <function>fgets</function> ne se comporte pas comme son &eacute;quivalent C lors de la rencontre de la fin du fichier. </simpara> <simpara> <parameter>fp</parameter> doit &ecirc;tre valide, et avoir &eacute;t&eacute; 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">&lt;?php $fd = fopen ("/tmp/inputfile.txt", "r"); while (!feof($fd)) { $buffer = fgets($fd, 4096); echo $buffer; } fclose ($fd);?&gt; </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 &eacute;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 &agrave; <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&eacute;ciser les balises qui seront ignor&eacute;es dans le troisi&egrave;me param&egrave;tre, optionnel. <note> <para> <parameter>allowable_tags</parameter> a &eacute;t&eacute; ajout&eacute; 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&eacute;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 &agrave; <function>readfile</function>, hormis le fait que <function>file</function> retourne le fichier dans un tableau. Chaque &eacute;l&eacute;ment du tableau correspond &agrave; une ligne du fichier, et les retour-chariots sont plac&eacute;s en fin de ligne. </para> <para> Vous pouvez utiliser l'option <parameter>use_include_path</parameter> : en la mettant &agrave; "1", vous rechercherez aussi dans le dossier <link linkend="ini.include-path">include_path</link>. </para> <para> <informalexample> <programlisting role="php">&lt;?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 "&lt;B&gt;Ligne $numero_ligne:&lt;/B&gt; ".htmlspecialchars( $ligne ) . "&lt;br&gt;\n"; }// lire une page web dans une cha&icirc;ne $fcontents = join( '', file( 'http://www.php.net' ) );?&gt; </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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <simpara> Le r&eacute;sultat de <function>file_exists</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;tails. </simpara> </refsect1> </refentry> <refentry id="function.fileatime"> <refnamediv> <refname>fileatime</refname> <refpurpose> Renvoie la date &agrave; laquelle le fichier a &eacute;t&eacute; acc&eacute;d&eacute; pour la derni&egrave;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 &agrave; laquelle le fichier a &eacute;t&eacute; acc&eacute;d&eacute; pour la derni&egrave;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <simpara> Le r&eacute;sultat de <function>fileatime</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;tails. </simpara> </refsect1> </refentry> <refentry id="function.filectime"> <refnamediv> <refname>filectime</refname> <refpurpose> Renvoie l'heure &agrave; laquelle l'inode a &eacute;t&eacute; acc&eacute;d&eacute; pour la derni&egrave;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 &agrave; laquelle l'inode <parameter>filename</parameter> a &eacute;t&eacute; acc&eacute;d&eacute; pour la derni&egrave;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Note: Sur la plupart des serveurs UNIX, un fichier est consid&eacute;r&eacute; comme modifi&eacute; si les donn&eacute;es de son inode sont modifi&eacute;es. C'est-&agrave;-dire lorsque les permissions (utilisateur, groupe ou autre) ont &eacute;t&eacute; modifi&eacute;es. Voyez aussi <function>filemtime</function> (que vous pourrez utiliser lorsque vous cr&eacute;erez des indications telles que "Derni&egrave;re modification : " sur les pages web) et <function>fileatime</function>. </para> <para> Notez aussi que sur certains syst&egrave;mes UNIX, le ctime d'un fichier texte est consid&eacute;r&eacute; comme sa date de cr&eacute;ation. Cela est faux! Il n'y a pas de date de cr&eacute;ation de fichier sous la plupart des syst&egrave;mes UNIX. </para> <para> Le r&eacute;sultat de <function>filectime</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;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&egrave;de le fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. L'identifiant de groupe est retourn&eacute; au format num&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Le r&eacute;sultat de <function>filegroup</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <note> <simpara> <function>filegroup</function> est inop&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.fileinode"> <refnamediv> <refname>fileinode</refname> <refpurpose>Renvoie le num&eacute;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&eacute;ro d'inode du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <para> Le r&eacute;sultat de <function>fileinode</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>fileinode</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <note> <simpara> <function>fileinode</function> est inop&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.filemtime"> <refnamediv> <refname>filemtime</refname> <refpurpose> Renvoie la date de derni&egrave;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&egrave;re modification du fichier <parameter>filename</parameter>, ou &false; en cas d'erreur. </para> <para> Le r&eacute;sultat de <function>filemtime</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>filemtime</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> <function>filemtime</function> retourne l'heure d'&eacute;criture des blocs donn&eacute;es d'un fichier. Utilisez <function>date</function> sur ce r&eacute;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&eacute;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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Le r&eacute;sultat de <function>fileowner</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <note> <simpara> <function>fileowner</function> est inop&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.fileperms"> <refnamediv> <refname>fileperms</refname> <refpurpose> Renvoie les permissions affect&eacute;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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Le r&eacute;sultat de <function>fileperms</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Le r&eacute;sultat de <function>filesize</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;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&eacute;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Le r&eacute;sultat de <function>filetype</function> est mis en cache. Reportez-vous &agrave; <function>clearstatcache</function> pour plus de d&eacute;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&egrave;me complet de verrouillage de fichiers. Tous les programmes qui acc&egrave;dent au fichier doivent utiliser la m&ecirc;me m&eacute;thode de verrouillage pour qu'il soit efficace. </simpara> <simpara> <function>flock</function> agit sur le fichier <parameter>fp</parameter> qui doit avoir &eacute;t&eacute; ouvert au pr&eacute;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 (&eacute;criture), <parameter>operation</parameter> = 2. </simpara> </listitem> <listitem> <simpara> Lib&eacute;ration d'un verrou (partag&eacute; 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 &agrave; <parameter>operation</parameter>. </simpara> </listitem> </itemizedlist> </para> <simpara> <function>flock</function> permet de r&eacute;aliser un syst&egrave;me simple de verrous &eacute;criture / lecture, qui peut &ecirc;tre utilis&eacute; sur n'importe quelle plate-forme (Unix et Windows compris). </simpara> <simpara> <function>flock</function> retourne &true; en cas de succ&egrave;s, et &false; sinon. (le verrou n'a pas pu &ecirc;tre obtenu). </simpara> <warning> <para> Sur la plupart des OS, <function>flock</function> est impl&eacute;ment&eacute; au niveau processus. Lors de l'utilisation des API d'un serveur multi-thread, comme ISAPI, vous ne pouvez pas vous fier &agrave; <function>flock</function> pour prot&eacute;ger vos fichiers contre des acc&egrave;s concurrents du m&ecirc;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 &agrave; la casse), une connexion HTTP 1.x est ouverte avec le serveur sp&eacute;cifi&eacute;, et un pointeur sur la r&eacute;ponse fournie est retourn&eacute;. Une en-t&ecirc;te '<literal>Host:</literal>' est envoy&eacute; avec la requ&ecirc;te, afin de g&eacute;rer les virtual hosts bas&eacute;s sur les noms. </simpara> <simpara> Notez que le pointeur de fichier retourn&eacute; repr&eacute;sente le corps de la r&eacute;ponse, et qu'il n'est pas possible d'acc&eacute;der aux en-t&ecirc;tes HTTP avec cette fonction. </simpara> <simpara> Les versions ant&eacute;rieures &agrave; PHP 4.0.6, ne g&egrave;re pas les redirections automatiques, ce qui oblige &agrave; ajouter les slash finaux "/" pour indiquer un dossier. </simpara> <simpara> Si <parameter>filename</parameter> commence par "ftp://" (insensible &agrave; la casse), une connexion FTP est ouverte avec le serveur sp&eacute;cifi&eacute;, et un pointeur sur la r&eacute;ponse fournie est retourn&eacute;. Si le serveur ne supporte par le mode FTP passif, <function>fopen</function> &eacute;chouera. Vous pouvez ouvrir des fichiers en lecture seulement, ou en &eacute;criture seulement (le full duplex n'est pas support&eacute;). </simpara> <simpara> Si <parameter>filename</parameter> commence par "php://stdin", "php://stdout", ou "php://stderr", le flot correspondant sera ouvert. (Cela a &eacute;t&eacute; introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" ou "/dev/fd/0" devaient &ecirc;tre utilis&eacute;s pour acc&eacute;der &agrave; ces flots). </simpara> <simpara> Si <parameter>filename</parameter> commence par n'importe quoi d'autre, PHP tentera de lire ce fichier dans le syst&egrave;me local, et un pointeur sur le fichier ouvert sera retourn&eacute;. </simpara> <simpara> Si l'ouverture &eacute;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&eacute;but du fichier. </simpara> </listitem> <listitem> <simpara> 'r+' - Ouvre en lecture et &eacute;criture, et place le pointeur de fichier au d&eacute;but du fichier. </simpara> </listitem> <listitem> <simpara> 'w' - Ouvre en &eacute;criture seule; place le pointeur de fichier au d&eacute;but du fichier et r&eacute;duit la taille du fichier &agrave; 0. Si le fichier n'existe pas, on tente de le cr&eacute;er. </simpara> </listitem> <listitem> <simpara> 'w+' - Ouvre en lecture et &eacute;criture; place le pointeur de fichier au d&eacute;but du fichier et r&eacute;duit la taille du fichier &agrave; 0. Si le fichier n'existe pas, on tente de le cr&eacute;er. </simpara> </listitem> <listitem> <simpara> 'a' - Ouvre en &eacute;criture seule; place le pointeur de fichier &agrave; la fin du fichier file. Si le fichier n'existe pas, on tente de le cr&eacute;er. </simpara> </listitem> <listitem> <simpara> 'a+' - Ouvre en lecture et &eacute;criture; place le pointeur de fichier &agrave; la fin du fichier. Si le fichier n'existe pas, on tente de le cr&eacute;er. </simpara> </listitem> </itemizedlist> De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option n'est utile que sur les syst&egrave;mes qui font la diff&eacute;rence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalit&eacute; Windows, totalement inutile sous Unix). S'il n'est pas n&eacute;cessaire, il sera ignor&eacute;. </para> <para> Vous pouvez utiliser le troisi&egrave;me param&egrave;tre optionnel pour explorer le dossier <link linkend="ini.include-path">include_path</link>, en le mettant &agrave; 1. </para> <para> <example> <title>Exemple avec <function>fopen</function></title> <programlisting role="php">&lt;?php $fp = fopen("/home/rasmus/file.txt", "r"); $fp = fopen("http://www.php.net/", "r"); $fp = fopen("ftp://user:password&#64;example.com/", "w");?&gt; </programlisting> </example> </para> <simpara> Si vous rencontrez des probl&egrave;mes en lecture ou &eacute;criture de fichier et que vous utilisez PHP en version module de serveur, n'oubliez pas que les fichiers auxquels vous acc&eacute;dez ne sont pas n&eacute;cessairement accessibles au processus serveur. </simpara> <para> Sous Windows, assurez-vous de bien &eacute;chapper les anti-slash utilis&eacute;s dans le chemin du fichier, ou bien utilisez des slash. <informalexample> <programlisting role="php">&lt;?php $fp = fopen("c:\\data\\info.txt", "r");?&gt; </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&eacute;e apr&egrave;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'&agrave; la fin, et dirige le r&eacute;sultat vers la sortie standard. </simpara> <simpara> Si une erreur survient, <function>fpassthru</function> retourne &false;. </simpara> <simpara> Le pointeur de fichier doit &ecirc;tre valide, et doit avoir &eacute;t&eacute; correctement ouvert par <function>fopen</function>, <function>popen</function>, ou <function>fsockopen</function>. Apr&egrave;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 &eacute;pargnera l'appel &agrave; <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&egrave;tre optionnel, et s'il n'est pas sp&eacute;cifi&eacute;, toute la cha&icirc;ne est &eacute;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'&agrave; <parameter>length</parameter> octets dans le fichier ref&eacute;renc&eacute; par <parameter>fp</parameter>. La lecture s'arr&ecirc;te lorsque <parameter>length</parameter> octets ont &eacute;t&eacute; 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">&lt;?php// Lit un fichier, et le place dans une cha&icirc;ne $filename = "/usr/local/quelquechose.txt"; $fd = fopen($filename, "r"); $contents = fread($fd, filesize ($filename)); fclose($fd);?&gt; </programlisting> </informalexample> </para> <note> <para> Sur les syst&egrave;mes qui diff&eacute;rencient les fichiers textes et binaires (i.e. Windows) le fichier doit &ecirc;tre ouvert avec la lettre 'b' ajout&eacute;e au param&egrave;tre de mode de la fonction <function>fopen</function>. </para> </note> <note> <para> <informalexample> <programlisting role="php">&lt;?php $filename = "c:\\fichiers\\uneimage.gif"; $fd = fopen($filename, "rb"); $contents = fread($fd, filesize ($filename)); fclose($fd);?&gt; </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 &agrave; <function>sscanf</function>, mais elle prend comme entr&eacute;e un fichier, associ&eacute; &agrave; <parameter>handle</parameter> et l'interpr&egrave;te en fonction du format <parameter>format</parameter>. Si seulement deux param&egrave;tres sont pass&eacute;s &agrave; la fonction, les valeurs analys&eacute;es seront retourn&eacute;es sous forme de tableau. Si des arguments optionnels sont pass&eacute;s, la fonction retournera le nombre de valeurs assign&eacute;es. Les options doivent &ecirc;tre pass&eacute;es par r&eacute;f&eacute;rence. <example> <title>Exemple <function>fscanf</function></title> <programlisting role="php">&lt;?php $fp = fopen ("users.txt","r"); while ($userinfo = fscanf ($fp, "%s\t%s\t%s\n")) { list ($name, $profession, $countrycode) = $userinfo; //... traitement des donn&eacute;es } fclose($fp);?&gt; </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&eacute;e en octets &agrave; partir du d&eacute;but du fichier, est obtenue en additionnant la distance <parameter>offset</parameter> &agrave; la position <parameter>whence</parameter>. Ce param&egrave;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&eacute;e &agrave; <parameter>offset</parameter> octets. </member> <member> SEEK_END - La position finale vaut la position courante par rapport &agrave; la fin du fichier, ajout&eacute;e de <parameter>offset</parameter>. </member> </simplelist> </para> <para> Si <parameter>whence</parameter> n'est pas sp&eacute;cifi&eacute;e, il vaut par d&eacute;faut SEEK_SET. </para> <para> <function>fseek</function> retourne &true; en cas de succ&egrave;s, et sinon -1. Notez que positionner le pointeur au del&agrave; de la fin du fichier n'est pas une erreur. </para> <para> <function>fseek</function> ne peut pas &ecirc;tre utilis&eacute; sur les pointeurs retourn&eacute;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 &agrave; 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&icirc;t le pointeur <parameter>fp</parameter>. <function>fstat</function> est similaire &agrave; 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 &eacute;l&eacute;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&eacute;taire </simpara></listitem> <listitem><simpara>6 : id du groupe propri&eacute;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&egrave;s </simpara></listitem> <listitem><simpara>10 : date de la derni&egrave;re modification </simpara></listitem> <listitem><simpara>11 : date du dernier changement </simpara></listitem> <listitem><simpara>12 : taille de bloc du syst&egrave;me pour les entr&eacute;es/sorties(*)</simpara></listitem> <listitem><simpara>13 : Nombre de blocs allou&eacute;s</simpara></listitem> </itemizedlist> * - uniquement sur les syst&egrave;mes qui supportent le type st_blksize. Les autres syst&egrave;mes (i.e. Windows) retournent -1. </para> <para> Les r&eacute;sultats de <function>fstat</function> sont mis en cache. Reportez-vous &agrave; la fonction <function>clearstatcache</function> pour plus de d&eacute;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&eacute;r&eacute; 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 &ecirc;tre valide, et avoir &eacute;t&eacute; 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 &agrave; la taille de <parameter>size</parameter>.<function>ftruncate</function> retourne &true; en cas de succ&egrave;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> &eacute;crit le contenu de la cha&icirc;ne <parameter>string</parameter> dans le fichier point&eacute; par <parameter>fp</parameter>. Si la longueur <parameter>length</parameter> est fournie, l'&eacute;criture s'arr&ecirc;tera apr&egrave;s <parameter>length</parameter> octets, ou &agrave; la fin de la cha&icirc;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&eacute;e, et les slash seront conserv&eacute;s. </simpara> <note> <para> De plus, <parameter>mode</parameter> peut contenir la lettre 'b'. Cette option n'est utile que sur les syst&egrave;mes qui font la diff&eacute;rence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalit&eacute; Windows, totalement inutile sous Unix). S'il n'est pas n&eacute;cessaire, il sera ignor&eacute;. </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'&eacute;criture de fichier avec <function>fwrite</function> utilise normalement un buffer de 8K. Cela signifie que si deux processus essaient d'&eacute;crire dans le m&ecirc;me fichier, ils font une pause tous les 8ko pour laisser le temps &agrave; l'autre d'&eacute;crire &agrave; son tour. <function>set_file_buffer</function> permet de modifier la taille du buffer de sortie pour le pointeur de fichier <parameter>fp</parameter> &agrave; <parameter>buffer</parameter> octets. Si <parameter>buffer</parameter> vaut 0, l'&eacute;criture se fera sans buffer. Cela force un processus &agrave; &eacute;crire toutes ses donn&eacute;es dans un fichier avant que les autres puissent y acc&eacute;der. </simpara> <simpara> <function>set_file_buffer</function> retourne 0 en cas de succ&egrave;s, ou EOF si la requ&ecirc;te ne peut pas &ecirc;tre honor&eacute;e. </simpara> <para> L'exemple suivant montre comment utiliser la fonction <function>set_file_buffer</function> pour cr&eacute;er un fichier sans buffer. <example> <title>Exemple avec <function>set_file_buffer</function></title> <programlisting role="php">&lt;?php $fp=fopen($file, "w"); if($fp){ set_file_buffer($fp, 0); fputs($fp, $output); fclose($fp); }?&gt; </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&eacute;sultat de <function>is_dir</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>is_dir</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;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&eacute;cutable. </para> <para> Le r&eacute;sultat de <function>is_executable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>is_executable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;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&eacute;sultat de <function>is_file</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>is_file</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;sultat de <function>is_link</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>is_link</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.is-readable"> <refnamediv> <refname>is_readable</refname> <refpurpose>Indique un fichier est autoris&eacute; 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&egrave;de aux fichiers avec les m&ecirc;mes autorisations que l'utilisateur qui fait tourner le serveur web (souvent, c'est 'nobody', personne). </para> <para> Le r&eacute;sultat de <function>is_readable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de d&eacute;tails. </para> <simpara> <function>is_readable</function> ne fonctionne pas sur les <link linkend="features.remote-files">fichiers distants</link>. Les fichiers doivent &ecirc;tre accessibles par le syst&egrave;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&eacute; en &eacute;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 &eacute;criture. </para> <para> N'oubliez pas que PHP acc&egrave;de aux fichiers avec les m&ecirc;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 &ecirc;tre accessibles par le syst&egrave;me de fichier du serveur. </simpara> <para> Le r&eacute;sultat de <function>is_writable</function> est mis en cache. Voir la fonction <function>clearstatcache</function> pour plus de d&eacute;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&eacute; en &eacute;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 &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; 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 &agrave; 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 &eacute;t&eacute; t&eacute;l&eacute;charg&eacute; par HTTP POST. Cela est tr&egrave;s utile pour vous assurer qu'un utilisateur n'essaie pas d'acc&eacute;der intentionnellement &agrave; un fichier auquel il n'a pas droit (comme <filename>/etc/passwd</filename>). </para> <para> Ce type de v&eacute;rification est sp&eacute;cialement important s'il est possible que les fichiers t&eacute;l&eacute;charg&eacute;s r&eacute;v&eacute;lent leur contenu &agrave; l'utilisateur, ou m&ecirc;me aux utilisateurs du m&ecirc;me syst&egrave;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&eacute;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&eacute;e un lien. </para> <para> Voir aussi <function>symlink</function> pour cr&eacute;er des liens symboliques et <function>readlink</function> avec <function>linkinfo</function>. </para> <note> <simpara> <function>link</function> est inop&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.linkinfo"> <refnamediv> <refname>linkinfo</refname> <refpurpose>Renvoie les informations &agrave; 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 &agrave; propos d'un lien, c'est-&agrave;-dire le champs st_dev de la structure d'information UNIX (comme en langage C). <function>linkinfo</function> sert &agrave; v&eacute;rifier si un lien (rep&eacute;r&eacute; par <parameter>path</parameter>) existe (en utilisant la m&ecirc;me m&eacute;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&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.mkdir"> <refnamediv> <refname>mkdir</refname> <refpurpose>Cr&eacute;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&eacute;er un dossier dans le chemin <parameter>pathname</parameter>. </para> <para> Notez que vous aurez &agrave; pr&eacute;ciser le mode en base octale, ce qui signifie que vous aurez probablement un 0 comme premier chiffre. Le mode sera aussi modifi&eacute; par le umask courant, que vous pouvez modifier avec la fonction <function>umask</function>. <informalexample> <programlisting role="php">&lt;?php mkdir ("/chemin/de/mon/dossier", 0700);?&gt; </programlisting> </informalexample> </para> <para> <function>mkdir</function> retourne &true; en cas de succ&egrave;s, et &false; en cas d'&eacute;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&eacute;place un fichier t&eacute;l&eacute;charg&eacute;.</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 &agrave; 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&eacute;l&eacute;charg&eacute; par HTTP POST. Si le fichier est valide, il est d&eacute;plac&eacute; jusqu'&agrave; <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&eacute;l&eacute;charg&eacute;, mais que pour une raison quelconque, il ne peut &ecirc;tre d&eacute;plac&eacute;, rien ne se passe, et <function>move_uploaded_file</function> retourne &false;. De plus, une alerte sera affich&eacute;e. </para> <para> Ce type de v&eacute;rification est sp&eacute;cialement important s'il est possible que les fichiers t&eacute;l&eacute;charg&eacute;s r&eacute;v&egrave;lent leur contenu &agrave; l'utilisateur, ou m&ecirc;me aux utilisateurs du m&ecirc;me syst&egrave;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&egrave;me param&egrave;tre optionnel &agrave; <parameter>process_sections</parameter>, vous obtiendrez un tableau multi-dimensionnel, avec les noms des sections. La valeur par d&eacute;faut de ce param&egrave;tre est &false; </para> <note> <para> Cette fonction n'a rien a voir avec le fichier <filename>php.ini</filename>. Ce dernier a d&eacute;j&agrave; &eacute;tait trait&eacute; lorsque vous commencez a ex&eacute;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 &agrave; 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>&lt;?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);?&gt; </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&egrave;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 &eacute;l&eacute;ments suivants sont retourn&eacute;s : <parameter>dirname</parameter>, <parameter>basename</parameter> et <parameter>extension</parameter>. </para> <para> <example> <title>Exemple avec <function>pathinfo</function></title> <programlisting role="php">&lt;?php $path_parts = pathinfo("/www/htdocs/index.html"); echo $path_parts["dirname"] . "\n"; echo $path_parts["basename"] . "\n"; echo $path_parts["extension"] . "\n";?&gt; </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 &ecirc;tre valide, et avoir &eacute;t&eacute; ouvert correctement par <function>popen</function>. </para> <para> <function>pclose</function> retourne le statut final du processus ex&eacute;cut&eacute;. </para> <para> Voir aussi <function>popen</function>. </para> </refsect1> </refentry> <refentry id="function.popen"> <refnamediv> <refname>popen</refname> <refpurpose>Cr&eacute;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 &agrave; celui retourn&eacute; par <function>fopen</function>, hormis le fait qu'il sera unidirectionnel (lecture seule, ou &eacute;criture seule), et doit &ecirc;tre termin&eacute; par <function>pclose</function>. Ce pointeur peut &ecirc;tre utilis&eacute; 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">&lt;?php $fp = popen("/bin/ls", "r");?&gt; </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 &agrave; 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 &agrave; la casse), une connexion HTTP 1.0 sera ouverte avec le serveur sp&eacute;cifi&eacute;, et le texte de la r&eacute;ponse sera affich&eacute; sur la sortie standard. </para> <simpara> Les versions ant&eacute;rieures &agrave; PHP 4.0.6, ne g&egrave;re pas les redirections automatiques, ce qui oblige &agrave; ajouter les slash finaux "/" pour indiquer un dossier. </simpara> <para> Si <parameter>filename</parameter> commence par "ftp://" (insensible &agrave; la casse), une connexion FTP est ouverte avec l'h&ocirc;te sp&eacute;cifi&eacute; et la r&eacute;ponse du serveur est affich&eacute;e. Si le serveur ne supporte les connexions passives, la requ&ecirc;te &eacute;chouera. </para> <para> Si <parameter>filename</parameter> ne commence par aucun des cas pr&eacute;c&eacute;dents, le fichier sera ouvert sur l'h&ocirc;te local, et envoy&eacute; &agrave; la sortie standard. </para> <para> Vous pouvez utiliser le deuxi&egrave;me param&egrave;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&ecirc;me chose que la fonction readlink en C : elle retourne le contenu du lien symbolique rep&eacute;r&eacute; 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&eacute;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&egrave;s et &false; sinon. </para> </refsect1> </refentry> <refentry id="function.rewind"> <refnamediv> <refname>rewind</refname> <refpurpose>Replace le pointeur de fichier au d&eacute;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&eacute;but. </para> <para> Si une erreur survient, retourne &false;. </para> <para> Le pointeur de fichier doit &ecirc;tre valide, et avoir &eacute;t&eacute; 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 &ecirc;tre vide, et le script doit avoir les autorisations ad&eacute;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 &agrave; 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 &agrave; propos du fichier filename. </para> <para> <function>stat</function> retourne un tableau avec les &eacute;l&eacute;ments suivants : <itemizedlist> <listitem><simpara>0 : volume </simpara></listitem> <listitem><simpara>1 : inode</simpara></listitem> <listitem> <simpara> 2 : droits d'acc&egrave;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&eacute;taire </simpara></listitem> <listitem><simpara>5 : id du groupe propri&eacute;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&egrave;s </simpara></listitem> <listitem><simpara>9 : date de la derni&egrave;re modification </simpara></listitem> <listitem><simpara>10 : date du dernier changement </simpara></listitem> <listitem><simpara>11 : taille de bloc du syst&egrave;me pour les entr&eacute;es/sorties * </simpara></listitem> <listitem><simpara>12 : nombre de blocs allou&eacute;s</simpara></listitem> </itemizedlist> * - uniquement sur les syst&egrave;mes qui supportent le type st_blksize. Les autres syst&egrave;mes (i.e. Windows) retournent -1. </para> <para> <function>stat</function> retourne &false; en cas d'erreur. </para> <para> <function>stat</function> ne g&egrave;re pas les URL comme peut le faire <function>fopen</function>. </para> <para> Les r&eacute;sultats de <function>stat</function> sont mis en cache. Reportez-vous &agrave; la fonction <function>clearstatcache</function> pour plus de d&eacute;tails. </para> </refsect1> </refentry> <refentry id="function.lstat"> <refnamediv> <refname>lstat</refname> <refpurpose> Renvoie les informations &agrave; 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 &agrave; <function>stat</function> mais elle accepte aussi un lien symbolique comme argument. </para> <para> <function>lstat</function> retourne un tableau avec les &eacute;l&eacute;ments suivants : <itemizedlist> <listitem><simpara>0 : volume </simpara></listitem> <listitem><simpara>1 : inode</simpara></listitem> <listitem> <simpara> 2 : droits d'acc&egrave;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&eacute;taire </simpara></listitem> <listitem><simpara>5 : id du groupe propri&eacute;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&egrave;s </simpara></listitem> <listitem><simpara>9 : date de la derni&egrave;re modification </simpara></listitem> <listitem><simpara>10 : date du dernier changement </simpara></listitem> <listitem><simpara>11 : taille de bloc du syst&egrave;me pour les entr&eacute;es/sorties * </simpara></listitem> <listitem><simpara>12 : nombre de blocs allou&eacute;s</simpara></listitem> </itemizedlist> * - uniquement sur les syst&egrave;mes qui supportent le type st_blksize. Les autres syst&egrave;mes (i.e. Windows) retournent -1. </para> <para> Les r&eacute;sultats de <function>lstat</function> sont mis en cache. Reportez-vous &agrave; la fonction <function>clearstatcache</function> pour plus de d&eacute;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&eacute;soud tous les liens symboliques, et remplace toutes les r&eacute;f&eacute;rences '/./', '/../' et '/' de <parameter>path</parameter> puis retourne le chemin canonique absolu ainsi trouv&eacute;. Le r&eacute;sultat ne contient aucun lien symbolique, '/./' ou '/../'. </para> <para> <example> <title>Exemple <function>realpath</function></title> <programlisting role="php">&lt;?php $real_path = realpath("../../index.php");?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.symlink"> <refnamediv> <refname>symlink</refname> <refpurpose>Cr&eacute;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&eacute;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&eacute;er des liens durs et <function>readlink</function> ainsi que <function>linkinfo</function>. </para> <note> <simpara> <function>symlink</function> est inop&eacute;rante sous Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.tempnam"> <refnamediv> <refname>tempnam</refname> <refpurpose>Cr&eacute;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&eacute;e un fichier temporaire unique dans le dossier <parameter>dir</parameter>. Si le dossier n'existe pas, <function>tempnam</function> va g&eacute;n&eacute;rer un nom de fichier dans le dossier temporaire du syst&egrave;me. </para> <para> Avant PHP 4.0.6, le comportement de <function>tempnam</function> d&eacute;pendait de l'OS sous-jacent. Sous Windows, la variable d'environnement TMP remplace le param&egrave;tre <parameter>dir</parameter>; sous Linux, la variable d'environnement TMPDIR a la priorit&eacute;, tandis que pour les OS en syst&egrave;me V R4, le param&egrave;tre <parameter>dir</parameter> sera toujours utilis&eacute;, si le dossier qu'il repr&eacute;sente existe. Consultez votre documentation pour plus de d&eacute;tails. </para> <para> <function>tempnam</function> retourne le nom du fichier temporaire, ou la cha&icirc;ne &null; en cas d'&eacute;chec. <example> <title>Exemple avec <function>tempnam</function></title> <programlisting role="php">&lt;?php $tmpfname = tempnam("/tmp", "FOO");?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.tmpfile"> <refnamediv> <refname>tmpfile</refname> <refpurpose>Cr&eacute;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&eacute;e un fichier temporaire avec un nom unique, ouvert en &eacute;criture, et retourne un pointeur de fichier, identique &agrave; ceux retourn&eacute;s par <function>fopen</function>. Ce fichier sera automatiquement effac&eacute; lorsqu'il sera ferm&eacute; (avec <function>fclose</function>), ou lorsque le script sera termin&eacute;. </para> <para> Pour plus de d&eacute;tails, consultez votre documentation syst&egrave;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 &agrave; 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&eacute; <parameter>filename</parameter> &agrave; la date de <parameter>time</parameter>. Si <parameter>time</parameter> est omis, c'est l'heure courante qui est utilis&eacute;e. </para> <para> Si le fichier n'existe pas, il est cr&eacute;&eacute;. </para> <para> <function>touch</function> retourne &true; en cas de succ&egrave;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 &eacute;t&eacute; fix&eacute;e &agrave; maintenant";} else { print "D&eacute;sol&eacute;, 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 &amp; 0777 et retourne le vieux umask. Lorsque PHP est utilis&eacute; comme module de serveur, le umask reprend sa valeur &agrave; la fin de chaque script. </para> <para> <function>umask</function> appel&eacute; 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 &agrave; la fonction Unix C unlink(). </para> <para> <function>unlink</function> retourne &false; en cas d'&eacute;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) { +&lt;?php + function barbier ($type) { print "Vous vouliez une coupe $type, pas de probl&egrave;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"); +?&gt; </programlisting> </informalexample> </para> @@ -153,9 +157,9 @@ </title> <programlisting role="php"> &lt;?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"> &lt;?php -function foo() { + function foo() { $numargs = func_num_args(); echo "Nombre d'arguments: $numargs&lt;br&gt;\n"; if ($numargs &gt;= 2) { @@ -357,8 +361,8 @@ for ($i = 0; $i &lt; $numargs; $i++) { echo "L'argument $i est: " . $arg_list[$i] . "&lt;br&gt;\n"; } -} -foo (1, 2, 3); + } + foo(1, 2, 3); ?&gt; </programlisting> </informalexample> @@ -403,11 +407,11 @@ <informalexample> <programlisting role="php"> &lt;?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' ?&gt; </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&eacute;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&eacute;l&eacute;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&eacute;cent pour utiliser ces fonctions. - Certaines d'entre elles peuvent requ&eacute;rir une version encore plus r&eacute;cente de - GMP. - </simpara> - <simpara> - Ces fonctions ont &eacute;t&eacute; ajout&eacute;e dans PHP 4.0.4. - </simpara> - <note> - <para> - La plupart des fonctions GMP acceptent des nombres GMP comme arguments, - d&eacute;finis ci-dessous comme <literal>resource</literal>. Cependant, - la plus part de ces fonctions acceptent aussi des nombres et des cha&icirc;nes - &agrave; partir du moment o&ugrave; on peut les convertir en nombre. Si - une fonction utilisant les entiers est plus rapide, elle sera automatiquement - appel&eacute;e si les arguments fournis sont des entiers. Cela se fait - de mani&egrave;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"> -&lt;?php -function fact($x) { - if($x &lt;= 1) - return 1; - else - return gmp_mul($x,fact($x-1)); -} -print gmp_strval(fact(1000))."\n"; -?&gt; - </programlisting> - </example> - Cet exemple va calculer factiorielle de 1000 (un plut&ocirc;t - grand nombre) tr&egrave;s vite. - </para> - </partintro> - <refentry id="function.gmp-init"> - <refnamediv> - <refname>gmp_init</refname> - <refpurpose>Cr&eacute;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&eacute;e un nombre GMP, &agrave; partir d'un - entier ou d'une cha&icirc;ne. Les cha&icirc;nes peuvent &ecirc;tre en - d&eacute;cimal ou en hexad&eacute;cimal. Dans ce dernier cas, la - cha&icirc;ne doit commencer par<literal>0x</literal>. - </para> - <para> - <example> - <title>Cr&eacute;ation d'un nombre GMP</title> - <programlisting role="php"> -&lt;?php - $a = gmp_init(123456); - $b = gmp_init("0xFFFFDEBACDFEDF7200"); -?&gt; - </programlisting> - </example> - </para> - <note> - <para> - Il n'est pas n&eacute;cessaire d'appeler cette fonction si vous voulez utiliser - des entiers ou des cha&icirc;nes &agrave; 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&eacute;cessaire, en utilisant - les m&ecirc;mes r&egrave;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&eacute;sultat coh&eacute;rent - uniquement si le nombre GMP peut &ecirc;tre repr&eacute;sent&eacute; par un entier - PHP (i.e. type long sign&eacute;). Si vous vous voulez simplement afficher - un nombre GMP, utilisez plut&ocirc;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&icirc;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&icirc;ne de caract&egrave;res, dans la base <parameter>base</parameter>. - La base par d&eacute;faut est 10. Les valeurs possibles vont de 2 &agrave; 36. - </para> - <para> - <example> - <title>Conversion d'un nombre GMP en cha&icirc;ne</title> - <programlisting role="php"> -&lt;?php - $a = gmp_init("0x41682179fbf5"); - printf("D&eacute;cimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36)); -?&gt; - </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&eacute;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&eacute;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&eacute;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&eacute;sultat est un entier. L'arrondi - du r&eacute;sultat est d&eacute;fini par <parameter>round</parameter>, qui peut prendre l'une - des valeurs suivantes : - <itemizedlist> - <listitem> - <simpara> - <parameter>GMP_ROUND_ZERO</parameter>: Le r&eacute;sultat est tronqu&eacute; vers 0. - </simpara> - </listitem> - <listitem> - <simpara> - <parameter>GMP_ROUND_PLUSINF</parameter>: Le r&eacute;sultat est tronqu&eacute; vers - <literal>+infinity</literal> - </simpara> - </listitem> - <listitem> - <simpara> - <parameter>GMP_ROUND_MINUSINF</parameter>: Le r&eacute;sultat est tronqu&eacute; vers - <literal>-infinity</literal> - </simpara> - </listitem> - </itemizedlist> - </para> - <simpara> - <function>gmp_div_q</function> peut aussi &ecirc;tre appel&eacute;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&egrave;re - de <parameter>n</parameter> par <parameter>d</parameter>. Le reste - a le m&ecirc;me signe que <parameter>n</parameter>, s'il est non nul. - </para> - <para> - Voir <function>gmp_div_q</function> pour une description du parm&egrave;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 &eacute;l&eacute;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&egrave;tre - <parameter>round</parameter>. - </para> - <para> - <example> - <title>Division de nombres GMP</title> - <programlisting role="php"> -&lt;?php - $a = gmp_init("0x41682179fbf5"); - $res = gmp_div_qr($a, "0xDEFE75"); - printf("Le r&eacute;sultat est: q - %s, r - %s", gmp_strval($res[0]), gmp_strval($res[1])); -?&gt; - </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&eacute;sultat est toujours positif ou nul, car - le signe de <parameter>d</parameter> est ignor&eacute;. - </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&eacute;sultats coh&eacute;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 &gt; b</literal>, z&eacute;ro si <literal>a = b</literal> et n&eacute;gative - si <literal>a &lt; b</literal>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-neg"> - <refnamediv> - <refname>gmp_neg</refname> - <refpurpose>Oppos&eacute; 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&eacute; 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&eacute;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&eacute;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&eacute;e de - <parameter>a</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-sqrtrm"> - <refnamediv> - <refname>gmp_sqrtrm</refname> - <refpurpose>Racine carr&eacute;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 &eacute;l&eacute;ment est la racine carr&eacute;e enti&egrave;re de - <parameter>a</parameter> (voir aussi <function>gmp_sqrt</function>), et - le second est le reste de (i.e., la diff&eacute;rence entre - <parameter>a</parameter> et le carr&eacute; du premier &eacute;l&eacute;ment). - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-perfect-square"> - <refnamediv> - <refname>gmp_perfect_square</refname> - <refpurpose>Carr&eacute; 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&eacute; 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> &eacute;l&egrave;ve - <parameter>base</parameter> &agrave; la puissance - <parameter>exp</parameter>. Dans le cas de 0^0, - <function>gmp_pow</function> retourne 1.<parameter>exp</parameter> - ne doit pas &ecirc;tre n&eacute;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&eacute;gatif, le r&eacute;sultat est - ind&eacute;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&eacute;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&ucirc;rement premier. <parameter>reps</parameter> - peut raisonnablement varier de 5 &agrave; 10 (par d&eacute;faut, c'est 10); une valeur - sup&eacute;rieure r&eacute;duit la probabilit&eacute; qu'un nombre non premier soit - identifi&eacute; comme "probablement" premier. - </para> - <para> - <function>gmp_prob_prime</function> utilise le test de probabilit&eacute; - 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&eacute;sultat est toujours positif, m&ecirc;me si l'un des deux (ou les deux) - nombres est n&eacute;gatif. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-gcdext"> - <refnamediv> - <refname>gmp_gcdext</refname> - <refpurpose>PGCD &eacute;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&ugrave; gcd est le pgcd de - <parameter>a</parameter> et <parameter>b</parameter>. La fonction - retourne un tableau avec les &eacute;l&eacute;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 &ecirc;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 &ecirc;tre positif et - impair. - </para> - </refsect1> - </refentry> - <refentry id="function.gmp-random"> - <refnamediv> - <refname>gmp_random</refname> - <refpurpose>Nombre GMP al&eacute;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&eacute;n&egrave;re un nombre al&eacute;toire. - Ce nombre est limit&eacute; par <parameter>limiter</parameter>. Si - <parameter>limiter</parameter> est n&eacute;gatif, un nombre n&eacute;gatif est - g&eacute;n&eacute;r&eacute;. - </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>&amp;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 &agrave; 0 ou 1. Par d&eacute;faut, il est mis &agrave; 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>&amp;a</parameter></paramdef> - <paramdef>int <parameter>index</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>gmp_clrbit</function> met le bit <parameter>index</parameter> - &agrave; 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 &agrave; la position <parameter>start</parameter>, vers les bits - de poids lourd, jusqu'&agrave; ce qu'elle rencontre un bit &agrave; 0. Sa position est - alors retourn&eacute;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 &agrave; la position <parameter>start</parameter>, - vers les bits de poids lourd, jusqu'&agrave; ce qu'elle rencontre - un bit &agrave; 1. Sa position est alors retourn&eacute;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&eacute;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&egrave;tres doivent &ecirc;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&eacute;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&eacute;l&eacute;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&eacute;cent pour utiliser ces fonctions. Certaines d'entre elles peuvent requ&eacute;rir une version encore plus r&eacute;cente de GMP. </simpara> <simpara> Ces fonctions ont &eacute;t&eacute; ajout&eacute;es en PHP 4.0.4. </simpara> <note> <para> La majorit&eacute; des fonctions GMP acceptent des nombres GMP comme arguments, d&eacute;finis ci-dessous comme <literal>resource</literal>. Cependant, la plupart de ces fonctions acceptent aussi des nombres et des cha&icirc;nes &agrave; partir du moment o&ugrave; on peut les convertir en nombre. Si une fonction utilisant les entiers est plus rapide, elle sera automatiquement appel&eacute;e si les arguments fournis sont des entiers. Cela se fait de mani&egrave;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">&lt;?phpfunction fact($x) { if($x &lt;= 1) return 1; else return gmp_mul($x,fact($x-1));}print gmp_strval(fact(1000))."\n";?&gt; </programlisting> </example> Cet exemple va calculer factorielle de 1000 (un plut&ocirc;t grand nombre) tr&egrave;s vite. </para> </partintro> <refentry id="function.gmp-init"> <refnamediv> <refname>gmp_init</refname> <refpurpose>Cr&eacute;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&eacute;e un nombre GMP, &agrave; partir d'un entier ou d'une cha&icirc;ne. Les cha&icirc;nes peuvent &ecirc;tre en d&eacute;cimal ou en hexad&eacute;cimal. Dans ce dernier cas, la cha&icirc;ne doit commencer par<literal>0x</literal>. </para> <para> <example> <title>Cr&eacute;ation d'un nombre GMP</title> <programlisting role="php">&lt;?php $a = gmp_init(123456); $b = gmp_init("0xFFFFDEBACDFEDF7200");?&gt; </programlisting> </example> </para> <warning> <simpara> Si vous devez explicitement sp&eacute;cifier un entier de grande taille, faites le avec une cha&icirc;ne. Sinon, PHP va interpr&eacute;ter l'entier litt&eacute;ralement, et vous y perdrez en pr&eacute;cision avant que les fonctions <literal>GMP</literal> n'entre en jeu. </simpara> </warning> <note> <para> Il n'est pas n&eacute;cessaire d'appeler <function>gmp_init</function> si vous voulez utiliser des entiers ou des cha&icirc;nes &agrave; 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&eacute;cessaire, en utilisant les m&ecirc;mes r&egrave;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&eacute;sultat coh&eacute;rent uniquement si le nombre GMP peut &ecirc;tre repr&eacute;sent&eacute; par un entier PHP (i.e. type long sign&eacute;). Si vous vous voulez simplement afficher un nombre GMP, utilisez plut&ocirc;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&icirc;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&icirc;ne de caract&egrave;res, dans la base <parameter>base</parameter>. La base par d&eacute;faut est 10. Les valeurs possibles vont de 2 &agrave; 36. </para> <para> <example> <title>Conversion d'un nombre GMP en cha&icirc;ne</title> <programlisting role="php">&lt;?php $a = gmp_init("0x41682179fbf5"); printf("D&eacute;cimal: %s, base 36: %s", gmp_strval($a), gmp_strval($a,36));?&gt; </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&eacute;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&eacute;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&eacute;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&eacute;sultat est un entier. L'arrondi du r&eacute;sultat est d&eacute;fini par <parameter>round</parameter>, qui peut prendre l'une des valeurs suivantes : <itemizedlist> <listitem> <simpara> <parameter>GMP_ROUND_ZERO</parameter>: Le r&eacute;sultat est tronqu&eacute; vers 0. </simpara> </listitem> <listitem> <simpara> <parameter>GMP_ROUND_PLUSINF</parameter>: Le r&eacute;sultat est tronqu&eacute; vers <literal>+infinity</literal> </simpara> </listitem> <listitem> <simpara> <parameter>GMP_ROUND_MINUSINF</parameter>: Le r&eacute;sultat est tronqu&eacute; vers <literal>-infinity</literal> </simpara> </listitem> </itemizedlist> </para> <simpara> <function>gmp_div_q</function> peut aussi &ecirc;tre appel&eacute;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&egrave;re de <parameter>n</parameter> par <parameter>d</parameter>. Le reste a le m&ecirc;me signe que <parameter>n</parameter>, s'il est non nul. </para> <para> Voir <function>gmp_div_q</function> pour une description du param&egrave;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 &eacute;l&eacute;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&egrave;tre <parameter>round</parameter>. </para> <para> <example> <title>Division de nombres GMP</title> <programlisting role="php">&lt;?php $a = gmp_init("0x41682179fbf5"); $res = gmp_div_qr($a, "0xDEFE75"); printf("Le r&eacute;sultat est: q - %s, r - %s", gmp_strval($res[0]), gmp_strval($res[1]));?&gt; </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&eacute;sultat est toujours positif ou nul, car le signe de <parameter>d</parameter> est ignor&eacute;. </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&eacute;sultats coh&eacute;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 &gt; b</literal>, z&eacute;ro si <literal>a = b</literal> et n&eacute;gative si <literal>a &lt; b</literal>. </para> </refsect1> </refentry> <refentry id="function.gmp-neg"> <refnamediv> <refname>gmp_neg</refname> <refpurpose>Oppos&eacute; 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&eacute; 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&eacute;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&eacute;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&eacute;e de <parameter>a</parameter>. </para> </refsect1> </refentry> <refentry id="function.gmp-sqrtrm"> <refnamediv> <refname>gmp_sqrtrm</refname> <refpurpose>Racine carr&eacute;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 &eacute;l&eacute;ment est la racine carr&eacute;e enti&egrave;re de <parameter>a</parameter> (voir aussi <function>gmp_sqrt</function>), et le second est le reste de (i.e., la diff&eacute;rence entre <parameter>a</parameter> et le carr&eacute; du premier &eacute;l&eacute;ment). </para> </refsect1> </refentry> <refentry id="function.gmp-perfect-square"> <refnamediv> <refname>gmp_perfect_square</refname> <refpurpose>Carr&eacute; 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&eacute; 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> &eacute;l&egrave;ve <parameter>base</parameter> &agrave; la puissance <parameter>exp</parameter>. Dans le cas de 0^0, <function>gmp_pow</function> retourne 1.<parameter>exp</parameter> ne doit pas &ecirc;tre n&eacute;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&eacute;gatif, le r&eacute;sultat est ind&eacute;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&eacute;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&ucirc;rement premier. <parameter>reps</parameter> peut raisonnablement varier de 5 &agrave; 10 (par d&eacute;faut, c'est 10); une valeur sup&eacute;rieure r&eacute;duit la probabilit&eacute; qu'un nombre non premier soit identifi&eacute; comme "probablement" premier. </para> <para> <function>gmp_prob_prime</function> utilise le test de probabilit&eacute; 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&eacute;sultat est toujours positif, m&ecirc;me si l'un des deux (ou les deux) nombres est n&eacute;gatif. </para> </refsect1> </refentry> <refentry id="function.gmp-gcdext"> <refnamediv> <refname>gmp_gcdext</refname> <refpurpose>PGCD &eacute;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&ugrave; gcd est le pgcd de <parameter>a</parameter> et <parameter>b</parameter>. La fonction retourne un tableau avec les &eacute;l&eacute;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 &ecirc;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 &ecirc;tre positif et impair. </para> </refsect1> </refentry> <refentry id="function.gmp-random"> <refnamediv> <refname>gmp_random</refname> <refpurpose>Nombre GMP al&eacute;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&eacute;n&egrave;re un nombre al&eacute;atoire. Ce nombre est limit&eacute; par <parameter>limiter</parameter>. Si <parameter>limiter</parameter> est n&eacute;gatif, un nombre n&eacute;gatif est g&eacute;n&eacute;r&eacute;. </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>&amp;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 &agrave; 0 ou 1. Par d&eacute;faut, il est mis &agrave; 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>&amp;a</parameter></paramdef> <paramdef>int <parameter>index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>gmp_clrbit</function> met le bit <parameter>index</parameter> &agrave; 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&ccedil;ant &agrave; la position <parameter>start</parameter>, vers les bits de poids lourd, jusqu'&agrave; ce qu'elle rencontre un bit &agrave; 0. Sa position est alors retourn&eacute;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&ccedil;ant &agrave; la position <parameter>start</parameter>, vers les bits de poids lourd, jusqu'&agrave; ce qu'elle rencontre un bit &agrave; 1. Sa position est alors retourn&eacute;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&eacute;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&egrave;tres doivent &ecirc;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"> &lt;?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&eacute;cut&eacute;. */ + exit(); +/* Garantit que le code ci-dessous n'est jamais ex&eacute;cut&eacute;. */ ?&gt; </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&ocirc;te et chemin absolu. Mais certains + navigateurs acceptent les URI relatives. Vous pouvez g&eacute;n&eacute;ralement + utiliser les variables globales $HTTP_SERVER_VARS['HTTP_HOST'], + $HTTP_SERVER_VARS['PHP_SELF'] et <function>dirname</function> pour + construire vous-m&ecirc;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&egrave;me type d'appel sp&eacute;cial regroupe toutes les en-t&ecirc;tes qui commencent par &quot;HTTP/&quot; (la casse n'est @@ -65,11 +85,23 @@ <informalexample> <programlisting role="php"> &lt;?php - header("http/1.0 404 Not Found"); + header("HTTP/1.0 404 Not Found"); ?&gt; </programlisting> </informalexample> </para> + <note> + <para> + En PHP 3, cela ne fonctionne que si PHP est compil&eacute; comme + module Apache. Vous pouvez arriver au m&ecirc;me au r&eacute;sultat + en utilisant l'ent&ecirc;te <literal>Status</literal>. + <informalexample> + <programlisting role="php"> +header("Status: 404 Not Found"); + </programlisting> + </informalexample> + </para> + </note> <para> Les scripts PHP g&eacute;n&egrave;rent souvent du HTML dynamiquement, qui ne doit pas &ecirc;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&ecirc;me si vous utilisez toutes les ent&ecirc;tes ci-dessus. + Il existe toute une collection de param&egrave;tres que les utilisateurs + peuvent modifier sur leur navigateur pour modifier le + comportement par d&eacute;faut du cache. En envoyant les ent&ecirc;tes + ci-dessus, vous pouvez imposer vos propres valeurs. + </para> + <para> + De plus, les param&egrave;tres <function>session_cache_limiter</function> et + <literal>session.cache_limiter</literal> peuvent &ecirc;tre utilis&eacute; pour + g&eacute;n&eacute;rer les ent&ecirc;tes de caches corrects, lorsque les sessions sont + utilis&eacute;es. + </para> + </note> <para> N'oubliez jamais que <function>header</function> doit &ecirc;tre appel&eacute;e avant que le moindre contenu ne soit envoy&eacute;, soit par des @@ -104,12 +152,54 @@ &lt;?php header("Content-Type: audio/x-pn-realaudio"); ?&gt; +&nbsp; // 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&egrave;me de cache (output buffering) + pour contourner ce probl&egrave;me. Tous vos textes g&eacute;n&eacute;r&eacute;s seront + mis en buffer sur le serveur jusqu'&agrave; 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&eacute;n&eacute;r&eacute;s, comme par exemple si vous g&eacute;n&eacute;rez un + fichier PDF, vous pouvez utiliser l'ent&ecirc;te <ulink + url="&url.rfc2183;">Content-Disposition</ulink> pour + fournir un nom de fichier par d&eacute;faut, &agrave; afficher dans le + dialogue de sauvegarde. + <informalexample> + <programlisting role="php"> +&lt;?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&ecirc;che + cet ent&ecirc;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&egrave;re avec ceci, mais qui peut &ecirc;tre r&eacute;solu en utilisant + le Service Pack 2 ou plus r&eacute;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 &eacute;t&eacute; developp&eacute; par - <ulink url="http://www.iicm.edu">IICM</ulink> &agrave; Graz. Son nom - original &eacute;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 &agrave; - <ulink url="http://www.hyperwave.com/">www.hyperwave.com</ulink>. Une version - limit&eacute;e &agrave; 30 jours peut &ecirc;tre demand&eacute;e. - </para> - <para> - <acronym>HIS</acronym> est un syst&egrave;me d'information similaire &agrave; - une base de donn&eacute;es, (HIS, Hyperwave Information Server). HIS se - concentre sur l'enregistrement et la gestion des documents. Un document peut - &ecirc;tre n'importe quelle donn&eacute;e, qui peut &ecirc;tre stock&eacute;e - dans un fichier. Chaque document est accompagn&eacute; par un enregistrement. - Cet enregistrement contient des m&eacute;ta donn&eacute;es &agrave; propos - du document. Ces m&eacute;ta donn&eacute;es sont des listes d'attributs qui - peuvent &ecirc;tre &eacute;tendues par l'utilisateur. Un attribut est une paire - cl&eacute;/valeur de la forme : cl&eacute; =valeur. L'enregistrement complet - contient autant de paire que le d&eacute;sire l'utilisateur. Le nom d'un - attribut n'a pas besoin d'&ecirc;tre unique, c'est &agrave; dire qu'une - m&ecirc;me cl&eacute; peut appara&icirc;tre plusieurs fois dans un - enregistrement. Cela peut &ecirc;tre utile si vous devez donner un - titre &agrave; votre document en plusieurs langues, par exemple. Dans un - cas pareil, la convention est que chaque valeur de titre est - pr&eacute;c&eacute;d&eacute;e par deux lettres et deux points, tel que : - 'fr:Titre en fran&ccedil;ais' ou 'ge:Titel in deutsch'. D'autres attributs - comme une description ou des mots cl&eacute;s sont aussi suceptibles de - recourir &agrave; ce genre de proc&eacute;d&eacute;. Vous pouvez aussi - remplacer l'abr&eacute;viation de langage par une autre cha&icirc;ne, - tant qu'elle est s&eacute;par&eacute;e de la valeur par les deux points. - </para> - <para> - Chaque enregistrement a une repr&eacute;sentation native qui contient toutes - les paires cl&eacute;/valeur, s&eacute;par&eacute;es par un retour &agrave; - la ligne. L'extension Hyperwave reconna&icirc;t une autre repr&eacute;sentation - qui est un tableau associatif, o&uacute; les attributs servent de cl&eacute;s. - Les attributs multilingues &eacute;tant g&eacute;r&eacute; sous la forme d'un - autre tableau associatif, dont les cl&eacute;s sont les cha&icirc;nes de - langue. En fait, tous les attributs multiformes sont g&eacute;r&eacute;s - sous la forme de tableau associatif. (Cela n'est pas encore compl&egrave;tement - cod&eacute;. Uniquement les attributs de titre, description et mot cl&eacute;s - sont trait&eacute;s correctement). - </para> - <para> - En dehors des documents, tous les hyper liens contenus dans un documents sont - enregistr&eacute;s dans un autre enregistrement. Les hyperliens qui sont - &agrave; l'int&eacute;rieur d'un document en seront supprim&eacute;s, et - enregistr&eacute;s dans des objets particuliers, au moment de l'insertion - dans la base de donn&eacute;es. L'enregistrement des hyper-liens - contient les informations d'origine et d'objectif. Afin d'acc&eacute;der - au document original, vous devre lire le document sans les liens, puis lire - les liens, et les r&eacute;ins&eacute;rer (les - <function>hw_pipedocument</function> et <function>hw_gettext</function> le - font pour vous. L'avantage de s&eacute;parer les liens du document est - &eacute;vident : une fois qu'un document, cible d'un hyperlien, a - &eacute;t&eacute; renomm&eacute;, le liens peut facilement &ecirc;tre - modifi&eacute;. Le document contenant le lien n'est pas modifi&eacute; - pour autant. Vous pouvez m&ecirc;me ajouter un lien &agrave; 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&icirc;t. - L'insertion implique une certaine hi&eacute;rarchie de document. Sur un serveur - web, la hi&eacute;rarchie est fournie par le syst&egrave;me de fichiers, mais - Hyperwave dispose de sa propre hi&eacute;rarchie et les noms de fichiers ne - refl&egrave;tent pas la position d'un objet dans cette hi&eacute;rarchie. - Ainsi, la cr&eacute;ation de liens requi&egrave;re en premier lieu - la construction de la hi&eacute;rarchie et de l'espace des noms dans - une hi&eacute;rarchie web et un espace de nom web. La diff&eacute;rence - fondamentale entre Hyperwave et le web est qu'il y a une distinction claire - en les noms et la hi&eacute;rarchie dans Hyperwave. Le nom ne contient aucune - information &agrave; propos de la position de l'objet dans la hi&eacute;rarchie. - Sur le web, le nom contient les informations de localisation dans la - hi&eacute;rarchie. Cela conduit &agrave; deux m&eacute;thodes de d'acc&egrave;s : - soit la hi&eacute;rarchie Hyperwave et le nom de l'objet sont inscrit dans - l'URL. Pour simplifier les choses, une deuxi&egrave;me approche est - pratiqu&eacute;e. L'objet Hyperwave de nom 'mon_objet' correspond &agrave; - l'URL 'http://hote/mon_objet', peu importe alors o&uacute; il est rang&eacute; - dans la hi&eacute;rarchie. Un objet dont le nom est 'parent/mon_objet' peut - &ecirc;tre le fils de l'objet 'mon_objet' dans la hi&eacute;rarchie Hyperwave, - bien que ce soit le contraire en convention web, et cela risque de perturber - l'utilisateur. - </para> - <para> - Ayant pris cette d&eacute;cision, un deuxi&egrave;me probl&egrave;me surgit : - comment faire l'interface avec PHP ? L' URL http://hote/mon_objet n'appelera - aucun script PHP &agrave; moins que vous ne demandiez &agrave; 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&eacute;nient , qui peut facilement &ecirc;tre - corrig&eacute;. R&eacute;&eacute;crire une URL ne vous permettra aucun - acc&egrave;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&egrave;gle pour exclure certaines URL, comme par exemple celles - qui commencent par http://host/Hyperwave. Voici de mani&egrave;re simple, - la mani&egrave;re de partager un espace de nom entre un serveur web et un - serveur Hyperwave serveur. - </para> - <para> - Bas&eacute; sur le m&eacute;canisme pr&eacute;c&eacute;dent, on trouve - l'insertion dans les documents. - </para> - <para> - Il est plus compliqu&eacute; d'avoir PHP ne fonctionne pas comme un module - de serveur, ou un scrip CGI, mais comme une application ind&eacute;pendante. - Dans ce cas, il est utile d'inscrire la hi&eacute;rarchie et le nom de fichier - Hyperwave dans le syst&egrave;me de fichier. Mais comme cela risque d'entrer - en conflit avec le s&eacute;parateur de dossier ('/'), il faut le remplacer - par un autre caract&egrave;re,. '_'. - </para> - <para> - Le protocole r&eacute;seau pour communiquer avec un serveur Hyperwave est - appel&eacute; <ulink url="http://www.hyperwave.de/7.17-hg-prot">HG-CSP</ulink> - (Hyper-G Client/Server Protocol). Il est bas&eacute; sur des messages qui - initie des actions, comme par exemple, lire l'ent&ecirc;te de fichier. Dans - les premi&egrave;res versions de Hyperwave Server deux clients natifs - (Harmony, Amadeus) &eacute;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&eacute; wavemaster est d&eacute;sormais - fourni. wavemaster est un esp&egrave;ce ce convertisseur de protocole de - <abbrev>HTTP</abbrev> en <abbrev>HG-CSP</abbrev>. L'id&eacute;e est de faire - toute l'administration de la base et la visualisation des documents par une - interface web. Le wavemaster impl&eacute;mente un jeu d'emplacement pour - certaines actions de personnalisation de l'interface. Ce jeu est appel&eacute; - <abbrev>PLACE</abbrev> language. <abbrev>PLACE</abbrev> p&ecirc;che encore par - le manque de nombreuse fonctions de programmations, et le manque - d'&eacute;volutivit&eacute;. Cela a conduit &agrave; 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&eacute;mente - tous les messages d&eacute;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 &eacute;t&eacute; largement &eacute;tendue. - Presque toutes les fonctions utilisent l'un des types de donn&eacute;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&eacute;es comme param&egrave;tre d'entr&eacute;e pour - sp&eacute;cifier un objet. - </simpara> - </listitem> - <listitem> - <simpara> - object record: Une cha&icirc;ne contenant des paires cl&eacute;=valeur. Les - paires sont s&eacute;par&eacute;es par un retour &agrave; la ligne. Un - enregistrement d'objet peut facilement &ecirc;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&eacute; est l'attribut. Si un attribut appara&icirc;t plusieurs fois, il - sera repr&eacute;sent&eacute; sous la forme d'un tableau associatif ou - index&eacute;. Les attributs qui d&eacute;pendent des langues (comme title, - keyword ou description) seront repr&eacute;sent&eacute;s sous la forme d'un - tableau associatif, dont les cl&eacute;s seront les abr&eacute;viations de - langues. Tous les autres attributs &agrave; valeur multiple prendront la - forme d'un tableau index&eacute;. - </simpara> - </listitem> - <listitem> - <simpara> - hw_document: Ce type est un nouveau type de donn&eacute;es, qui contient le - document lui m&ecirc;me, comme par exemple HTML, PDF etc. Il est - optimis&eacute; 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&eacute;, avec des informatiosn statistiques. Ce tableau - est le dernier &eacute;l&eacute;ment du tableau d'enregistrements. Les - statistiques contiennent les entr&eacute;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 &agrave; 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&eacute;gration avec Apache</title> - <para> - L'extension Hyperwave est utilis&eacute;e de mani&egrave;re optimale lorsque - PHP est compil&eacute; comme module Apache. Dans ce cas, le serveur Hyperwave - sous jacent peut &ecirc;tre cach&eacute; quasiment totalement aux utilisateurs, - si Apache utilise son moteur d'&eacute;criture. Les explications suivantes vous - &eacute;claireront : - </para> - <para> - Etant donn&eacute; que PHP avec l'extension Hyperwave et Apache tend &agrave; - remplacer la solution native bas&eacute; sur Wavemaster, je vais supposer que - le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas - n&eacute;cessaire, mais cela simplifie grandment la configuration. Le - concept est tr&egrave;s simple. Premi&egrave;rement, vous avez besoin d'un - script PHP qui &eacute;value la variable <envar>PATH_INFO</envar> et - consid&egrave;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&eacute;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&eacute;lioration peut - &ecirc;tre obtenue en utilisant le moteur de r&eacute;&eacute;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&egrave;gle de r&eacute;&eacute;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 &agrave; - un probl&egrave;me simple. Il n'y a pas d'autre fa&ccedil;on d'ex&eacute;cuter, - c'est &agrave; dire rechercher, un autre script que ce script 'Hyperwave'. - Cela pourra &ecirc;tre corrig&eacute; avec une autre r&egrave;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&eacute; pour d'autres scripts et fichiers. Assurez vous que - cette r&egrave;gle est &eacute;valu&eacute;e avant la premi&egrave;re - r&egrave;gle que nous avons d&eacute;finie. Il y a juste un l&eacute;ger - inconv&eacute;nient : tous les objets Hyperwave qui commencent par 'hw/' seront - cach&eacute;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&egrave;gles. N'oubliez pas de lancer le moteur de - r&eacute;&eacute;criture avec - <informalexample> - <programlisting role="apache-conf"> -RewriteEngine on - </programlisting> - </informalexample> - Mon exp&eacute;rience m'a montr&eacute; que vous aurez besoin - des scripts suivants : - <itemizedlist> - <listitem> - <simpara> - Retourne l'objet lui m&ecirc;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&eacute;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 &agrave; faire : - <itemizedlist> - <listitem> - <simpara> - La fonction hw_InsertDocument doit &ecirc;tre s&eacute;par&eacute;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&eacute;s. - </simpara> - </listitem> - <listitem> - <simpara> - La plupart des fonctions requi&egrave;rent la connexion courante - comme premier param&egrave;tre. Cela conduit &agrave; beaucoup de frappe - clavier, m&ecirc;me si il n'y a souvent qu'une seule connexion en jeu. - Une connexion par d&eacute;faut am&eacute;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&eacute;rentes langues seront trait&eacute;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 &agrave; 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&egrave;s, ou &false;, si la - connexion n'a pas pu &ecirc;tre cr&eacute;&eacute;e. Chaque argument - doit &ecirc;tre entour&eacute; de guillemets, sauf le num&eacute;ro de - port. Les arguments <parameter>username</parameter> et - <parameter>password</parameter> sont optionnels, et peuvent &ecirc;tre - ignor&eacute;s. Dans ce cas, aucune identification ne sera faite au niveau - du serveur. Cela revient &agrave; s'identifier en tant qu'utilisateur anonyme. - Cette fonction retourne un identifiant de connexion qui sera n&eacute;cessaire - aux autres fonctions Hyperwave. Vous pouvez avoir plusieurs connexions - simultan&eacute;es. N'oubliez pas que les mots de passe ne sont pas - crypt&eacute;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&eacute;e un groupe - ayant l'object id <parameter>destination_id</parameter>. - </para> - <para> - La valeur retourn&eacute;e est le nombre d'objets copi&eacute;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&eacute;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 &agrave; <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 - &ecirc;tre affich&eacute;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 - &ecirc;tre affich&eacute;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&eacute;sente tout qui est plac&eacute; au dela de la balise BODY. - Les informations de HEAD et de la balise BODY sont enregistr&eacute;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&eacute;e. Si la fonction &eacute;choue, - l'ancien contenu est restaur&eacute;. - </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&icirc;ne contenant - le dernier message d'erreur, ou 'No Error' (pas d'erreur). Si &false; - est retourn&eacute;, cette fonction a &eacute;chou&eacute;. Ce message - est relatif &agrave; la derni&egrave;re commande ex&eacute;cut&eacute;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 &ecirc;tre - modifi&eacute;s tant que le document est en train d'&ecirc;tre - &eacute;dit&eacute;. 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&egrave;re - erreur. Si la valeur 0 est retourn&eacute;e, c'est qu'il n'y avait pas d'erreur. - L'erreur se rapporte &agrave; la derni&egrave;re commande. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-free-document"> - <refnamediv> - <refname>hw_Free_Document</refname> - <refpurpose>D&eacute;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&eacute;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&eacute; - 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&eacute;, - avec les attributs et un tableau associ&eacute;, d'informations statistiques - &agrave; propos des attributs. Ce tableau associ&eacute; est le dernier - &eacute;l&eacute;ment du tableau retourn&eacute;. Chaque attribut - appartient au p&egrave;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 &agrave; 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 &eacute;loign&eacute;s sont des pages web externes, ou - des requ&ecirc;tes sur une base de donn&eacute;es. Afin de pouvoir - acc&eacute;der &agrave; des sources externes, gr&acirc;ce aux documents distants, - Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est - similaire &agrave; CGI. Actuellement, seuls les protocoles de FTP, HTTP et - certaines bases de donn&eacute;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&eacute;f&eacute;rable d'utiliser - PHP plut&ocirc;t que Hyperwave pour acc&eacute;der aux sources externes. - Le support des bases de donn&eacute;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&ecirc;mes. Cela est coh&eacute;rent si une requ&ecirc;te sur une base - de donn&eacute;es doit &ecirc;tre rendu plus s&eacute;lective, comme - expliqu&eacute; dans Hyperwave Programmers' Guide. Si le nombre de fils - est 1 la fonction va retourner le document lui m&ecirc;me, la fonction - retournera le document lui m&ecirc;me, format&eacute; Hyperwave Gateway - Interface (HGI). Si le nombre de fils est sup&eacute;rieur 1 la fonction - retournera un tableau d'attributs, qui pourra servir &agrave; une nouvelle - requ&ecirc;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 &ecirc;tre tr&egrave;s - familier HGIs. Il vaut mieux PHP plut&ocirc;t que Hyperwave pour acc&eacute;der - aux fichiers distants. Le support de base de donn&eacute;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 &ecirc;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&egrave;tre est un entier. Si le second param&egrave;tre est un - tableau, la fonction retournera un tableau d'attributs. Dans ce cas, - le dernier param&egrave;tre est aussi &eacute;valu&eacute;. - </para> - <para> - <parameter>query</parameter> a la syntaxe suivante : - </para> - <simpara> - &lt;expression> ::= "(" &lt;expression> ")" | - </simpara> - <simpara> - "!" &lt;expression> | /* NOT */ - </simpara> - <simpara> - &lt;expression> "||" &lt;expression> | /* OR */ - </simpara> - <simpara> - &lt;expression> "&amp;&amp;" &lt;expression> | /* AND */ - </simpara> - <simpara> - &lt;attribute> &lt;operator> &lt;value> - </simpara> - <simpara> - &lt;attribute> ::= /* * n'importe quel attribut (Title, Author, DocumentType ...) */ - </simpara> - <simpara> - &lt;operator> ::= "=" | /* &eacute;gal */ - </simpara> - <simpara> - "&lt;" | /* moins que (comparaison de type cha&icirc;ne) */ - </simpara> - <simpara> - ">" | /* plus que (comparaison de type cha&icirc;ne) */ - </simpara> - <simpara> - "~" /* recherche par expression r&eacute;guli&egrave;re */ - </simpara> - <simpara> - </simpara> - <para> - <parameter>query</parameter> permet de s&eacute;lectionner une nouvelle fois - certains objets dans la liste des objets donn&eacute;s. Contrairement aux - autres requ&ecirc;tes, celle ci peut utiliser des attributs non index&eacute;s. - Le nombre d'attributs retourn&eacute; d&eacute;pend de la requ&ecirc;te de la - requ&ecirc;te, et des autorisations d'acc&egrave;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&ecirc;chera - les autres utilisateurs d'y acc&eacute;der, jusqu'&agrave; ce qu'il soit - deverrouill&eacute;. - </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&egrave;de des ancrages - qui peuvent &ecirc;tre ins&eacute;r&eacute;s, ils seront d&eacute;j&agrave; - ins&eacute;r&eacute;s. L'option rootID/prefix peut &ecirc;tre une - cha&icirc;ne ou un entier. Si c'est un entier, il d&eacute;termine la - m&eacute;thode d'insertion des liens dans le document. Par d&eacute;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 &lt;A HREF="/internet_movie">. - La position r&eacute;elle de la source et de la cible dans la hi&eacute;rarchie - seront ignor&eacute;s. Vous devrez modificer votre site web pour qu'il - r&eacute;&eacute;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 &agrave; - rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une cha&icirc;ne. - </para> - <para> - Si <parameter>rootID/prefix</parameter> est un entier diff&eacute;rent de 0 - le lien sera construit avec tous les noms de la hi&eacute;rarchie, en - commencant &agrave; l'objet d'identifiant rootID/prefix, et s&eacute;par&eacute; - par des slash. Si, par exemple, le document 'film_internet' est situ&eacute; - &agrave; 'a-b-c-internet_movie' et '-' qui sert de s&eacute;parateur - hi&eacute;rarchique de niveau sur le serveur Hyperwave et le document - source est situ&eacute; dans 'a-b-d-source' alors, le lien HTML serait: - &lt;A HREF="../c/internet_movie">. Cela est tr&egrave;s pratique si vous - voulez t&eacute;l&eacute;charger tout le contenu d'un serveur sur un disque, - et faire une carte du syst&egrave;me sur votre disque. - </para> - <para> - <function>hw_gettext</function> n'est op&eacute;rationnelle qu'avec des - documents de pur texte. Elle n'ouvrira pas de canal sp&eacute;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&eacute; - par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 - il n'y a pas de limite. - </para> - <para> - La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute; par <parameter>max_hits</parameter>. Si - <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute; par <parameter>objectID</parameter>. Si - <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute; par <parameter>objectID</parameter>. Si - <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. - </para> - <para> - La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute;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&eacute;places les objets dont les identifiants - sont pass&eacute;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&eacute;r&eacute;s dans le groupe (ni dans le serveur). - Dans ce cas, si une instance &eacute;tait la derni&egrave;re instance d'un - objet, l'objet sera effac&eacute;. Si vous voulez effacer toutes les instances - d'un coup, utilisez <function>hw_deleteobject</function>. - </para> - <para> - La valeur retourn&eacute;e est le nombre d'objet d&eacute;plac&eacute;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&eacute;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&eacute;rifie qu'un ensemble d'objets - (documents ou groupes) donn&eacute;s par <parameter>object_id_array</parameter> - fait partie des groupe list&eacute;s par <parameter>object_id_array</parameter>. - Lorsque le quatri&egrave;me param&egrave;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&eacute;curusivement) - est retourn&eacute; sous la forme d'un tableau. Cette option permet de mettre - en valeur la partie de l'arborescence qui contient le r&eacute;sultat d'une - requ&ecirc;te, dans un sens graphique. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-info"> - <refnamediv> - <refname>hw_Info</refname> - <refpurpose>Informations &agrave; 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&icirc;ne retourn&eacute;e a le format suivant : - &lt;Serverstring&gt;, &lt;Host&gt;, &lt;Port&gt;, &lt;Username&gt;, - &lt;Port of Client&gt;, &lt;Byte swapping&gt; - </para> - </refsect1> - </refentry> - <refentry id="function.hw-inscoll"> - <refnamediv> - <refname>hw_InsColl</refname> - <refpurpose>Ins&egrave;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&egrave;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&egrave;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&egrave;re un nouveau document avec - les attributs <parameter>object_record</parameter>, dans le groupe - <parameter>parentID</parameter>. Cette fonction ins&egrave;re soit un objet - avec ses seuls attributs, soit pur objet ascii, avec - <parameter>text</parameter> si il est fourni. Si vous voulez ins&eacute;rer - un document de type g&eacute;n&eacute;ral, utilisez plut&ocirc;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&egrave;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&egrave;re un document dans le - groupe <parameter>parent_id</parameter>. Le document doit avoir - &eacute;t&eacute; cr&eacute;&eacute; 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&eacute;r&eacute;, - 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&egrave;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&egrave;re un objet dans - le serveur. L'objet peut &ecirc;tre n'importe quel objet Hyperwave - valide. Reportez vous &agrave; la documentation HG-CSP pour plus - de d&eacute;tails sur les param&egrave;tres. - </para> - <para> - Note: Si vous voulez ins&eacute;rer un ancre, l'attribut Position - doit &ecirc;tre mis &agrave; la valeur start/end (d&eacute;but ou - fin) ou encore 'invisible'. Les positions invisibles sont n&eacute;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&eacute;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&eacute;sente l'id d'un objet global de n'importe - quel serveur Hyperwave, m&ecirc;me si vous ne vous y &ecirc;tes pas - connect&eacute; avec <function>hw_connect</function>, avec un id d'objet - local virtuel. Cet id d'objet local peut alors &ecirc;tre utilis&eacute; - 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&egrave;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 &ecirc;tre fait qu'&agrave; la compilation. Par d&eacute;faut, - il n'est pas lev&eacute;. 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&eacute; par son - identifiant <parameter>object_to_change</parameter>. Le premier tableau, - <parameter>remove</parameter>, est la liste des attributs &agrave; effacer. - Le deuxi&egrave;me tableau <parameter>add</parameter> est la liste des - attributs &agrave; ajouter. Afin de modifier un attribut, il vous faudra - dont l'effacer, puis l'ajouter &agrave; nouveau. - <function>hw_modifyobject</function> effacera toujours les attributs avant - de les ajouter, &agrave; moins que la valeur de l'attribut &agrave; effacer - ne soit pas une cha&icirc;ne, ou un tableau. - </para> - <para> - Le dernier param&egrave;tre d&eacute;termine si la modification est - r&eacute;cursive ou pas. 1 signigie que la modification est r&eacute;cursive. - Si un objet ne peut pas &ecirc;tre modifi&eacute;, il sera ignor&eacute;. - <function>hw_error</function> n'indiquera alors pas toujours d'erreur, - m&ecirc;me si certains objets n'ont pas pu &ecirc;tre modifi&eacute;. - </para> - <para> - Les cl&eacute;s des deux tableaux sont les noms des attributs. La valeurs - de chaque &eacute;l&eacute;ment peut &ecirc;tre un tableau, ou une cha&icirc;ne - ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut - est construite en s&eacute;parant chaque &eacute;l&eacute;ment par un - point virgule. Dans le cas de la cha&icirc;ne, elle sert directement de - valeur. Une cha&icirc;ne vide provoquera un effacement de l'attribut. - Dans le cas o&uacute; la valeur n'est ni un tableau, ni une cha&icirc;ne, - aucune op&eacute;ration ne sera effectu&eacute;e. Cela est n&eacute;cessaire - si vous voulez ajouter un attribut compl&egrave;tement une nouvelle valeur pour - un attribut existant. Si le tableau d'effacement contenait une cha&icirc;ne - vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui - &eacute;chouerai de toute mani&egrave;re, car cet attribut n'existe pas. - L'ajout de cet attribut &eacute;chouerai aussi. Affecter la valeur de 0 - &agrave; 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"> -&lt;?php - // $connect est une connexion valide - // $objid est l'identifiant de l'objet - $remarr = array("Name" =&gt; "books"); - $addarr = array("Name" =&gt; "articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?&gt; - </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&egrave;me param&egrave;tre vide. Si l'attribut est - le premier de ce nom &agrave; ajouter, donnez une valeur enti&egrave;re - &agrave; cet &eacute;l&eacute;ment. - <example> - <title>Ajouter un nouvel attribut</title> - <programlisting role="php"> -&lt;?php - // $connect st une connexion Hyperwave valide - // $objid est l'identifiant de l'objet &agrave; modifier - $remarr = array("Name" =&gt; 0); - $addarr = array("Name" =&gt; "articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?&gt; - </programlisting> - </example> - </para> - <para> - <note> - <simpara> - Les attributs multilingues, (tels que 'Title'), peuvent &ecirc;tre - modifi&eacute;s de deux mani&egrave;res : soit en fournissant la - valeur de ces attributs de mani&egrave;re native (langue :valeur), - soit en fournissant un tableau avec les &eacute;l&eacute;ments de - chaque langue, comme d&eacute;crit ci-dessus. L'exemple deviendrai - alors : - </simpara> - </note> - <example> - <title>Modifier l'attribut de Titre (Title)</title> - <programlisting role="php"> -&lt;?php - $remarr = array("Title" =&gt; "en:Books"); - $addarr = array("Title" =&gt; "en:Articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?&gt; - </programlisting> - </example> - ou - <example> - <title>Modifier l'attribut Title</title> - <programlisting role="php"> -&lt;?php - $remarr = array("Title" =&gt; array("en" =&gt; "Books")); - $addarr = array("Title" =&gt; array("en" =&gt; "Articles", "ge"=&gt;"Artikel")); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?&gt; - </programlisting> - </example> - Pour supprimer l'entr&eacute;e fran&ccedil;aise 'Livres' et ajouter - l'entr&eacute;e 'Articles' et l'entr&eacute;e allemande 'Artikel'. - <example> - <title>Suppression d'un attribut</title> - <programlisting role="php"> -&lt;?php - $remarr = array("Title" =&gt; ""); - $addarr = array("Title" =&gt; "en:Articles"); - $hw_modifyobject($connect, $objid, $remarr, $addarr); -?&gt; - </programlisting> - </example> - <note> - <simpara> - Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter - un nouvel attribut 'Title'. Cela peut &ecirc;tre pratique pour effacer des - attributs r&eacute;cursivement. - </simpara> - </note> - <note> - <simpara> - Si vous devez effacer tous les attributs avec un certains nom, vous devez - passer une cha&icirc;ne vide comme valeur. - </simpara> - </note> - <note> - <simpara> - Seuls les attributs 'Title', 'Description' et 'Keyword' g&egrave;re - correctement le pr&eacute;fixe de langue. Pour les autres attributs qui - ne portent pas de pr&eacute;fixe de language, le pr&eacute;fixe 'xx' sera - assign&eacute;. - </simpara> - </note> - <note> - <simpara> - L'attribut 'Name' est un peu particuluer. Dans certains cas, il ne peut pas - &ecirc;tre compl&eacute;tement effac&eacute;. Vous aurez alors le message - 'Change of base attribute' (l'apparition de cette erreur n'est pas tr&egrave;s - claire). Ainsi, vous aurez &agrave; ajouter une nouvelle entr&eacute;e pour - Name puis, effacer l'ancien. - </simpara> - </note> - <note> - <simpara> - Il ne faut pas encadrer cette fonction par des appels &agrave; - <function>hw_getandlock</function> et <function>hw_unlock</function>. - <function>hw_modifyobject</function> le fait de mani&egrave;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&eacute;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&eacute;es <parameter>document_data</parameter> et comme - attributs <parameter>object_record</parameter>. La longueur de - <parameter>document_data</parameter> doit &ecirc;tre donn&eacute;es dans - <parameter>document_size</parameter>. Cette fonction n'ins&egrave;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&eacute;s du tableau seront les noms des attributs. Les attributs - multiples comme par exemple 'Title', dans diff&eacute;rentes langues, - seront rassembl&eacute;es dans un autre tableau. Une cl&eacute; est la - partie gauche d'un attribut. Actuellement, seuls les attributs 'Title', - 'Description' et 'Keyword' sont trait&eacute;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&eacute;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&egrave;s, et &false; si la connexion n'a pas - pu &ecirc;tre cr&eacute;&eacute;e. - <function>hw_pconnect</function> ouvre une connexion persistante &agrave; - un serveur Hyperwave. Tous les - arguments doivent &ecirc;tre entre guillemets, hormis le num&eacute;ro - de port <parameter>port</parameter>. Les arguments <parameter>username</parameter> et - <parameter>password</parameter> sont optionnels, et peuvent &ecirc;tre - ignor&eacute;s. Dans ce cas, aucune authentification ne sera faite, - (connexion anonyme). Cette fonction retourne un index de connexion qui - sera utilis&eacute;e par les autres fonctions Hyperwave. Vous pouvez - ouvrir plusieurs connexions simultan&eacute;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&eacute;r&eacute;s. Le document sera transmis via une connexion de - donn&eacute;es sp&eacute;ciale, qui ne bloque pas la connexion de - contr&ocirc;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&eacute;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&eacute;verrouille un document, et laisse - l'acc&egrave;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&eacute;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&eacute;s au serveur Hyperwave. Chaque - &eacute;l&eacute;ment du tableau est lui m&ecirc;me un tableau, qui contient - l'identifiant de l'&eacute;l&eacute;ment, le nom, le syst&egrave;me, la date - de connexion (onSinceDate), l'heure de connexion (onSinceTime), la - dur&eacute;e de connexion (TotalTime ) et self. 'self' contient - l'&eacute;l&eacute;ment est l'utilisateur qui a appel&eacute; la fonction. - </para> - </refsect1> - </refentry> - <refentry id="function.hw-getusername"> - <refnamediv> - <refname>hw_Username</refname> - <refpurpose>Nom de l'utilisateur actuellement identifi&eacute;.</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&eacute; 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 &eacute;t&eacute; d&eacute;velopp&eacute; par <ulink url="&url.iicm;">IICM</ulink> &agrave; Graz. Son nom original &eacute;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 &agrave; <ulink url="&url.hyperwave;">&url.hyperwave;</ulink>. Une version limit&eacute;e &agrave; 30 jours peut &ecirc;tre demand&eacute;e. </para> <para> <acronym>HIS</acronym> est un syst&egrave;me d'information similaire &agrave; une base de donn&eacute;es, (HIS, Hyperwave Information Server). HIS se concentre sur l'enregistrement et la gestion des documents. Un document peut &ecirc;tre n'importe quelle donn&eacute;e, qui peut &ecirc;tre stock&eacute;e dans un fichier. Chaque document est accompagn&eacute; par un enregistrement. Cet enregistrement contient des m&eacute;ta donn&eacute;es &agrave; propos du document. Ces m&eacute;ta donn&eacute;es sont des listes d'attributs qui peuvent &ecirc;tre &eacute;tendues par l'utilisateur. Un attribut est une paire cl&eacute;/valeur de la forme : cl&eacute; =valeur. L'enregistrement complet contient autant de paire que le d&eacute;sire l'utilisateur. Le nom d'un attribut n'a pas besoin d'&ecirc;tre unique, c'est-&agrave;-dire qu'une m&ecirc;me cl&eacute; peut appara&icirc;tre plusieurs fois dans un enregistrement. Cela peut &ecirc;tre utile si vous devez donner un titre &agrave; votre document en plusieurs langues, par exemple. Dans un cas pareil, la convention est que chaque valeur de titre est pr&eacute;c&eacute;d&eacute;e par deux lettres et deux points, tel que : 'fr:Titre en fran&ccedil;ais' ou 'ge:Titel in deutsch'. D'autres attributs comme une description ou des mots cl&eacute;s sont aussi susceptibles de recourir &agrave; ce genre de proc&eacute;d&eacute;. Vous pouvez aussi remplacer l'abr&eacute;viation de langage par une autre cha&icirc;ne, tant qu'elle est s&eacute;par&eacute;e de la valeur par les deux points. </para> <para> Chaque enregistrement a une repr&eacute;sentation native qui contient toutes les paires cl&eacute;/valeur, s&eacute;par&eacute;es par un retour &agrave; la ligne. L'extension Hyperwave reconna&icirc;t une autre repr&eacute;sentation qui est un tableau associatif, o&ugrave; les attributs servent de cl&eacute;s. Les attributs multilingues &eacute;tant g&eacute;r&eacute; sous la forme d'un autre tableau associatif, dont les cl&eacute;s sont les cha&icirc;nes de langue. En fait, tous les attributs multiformes sont g&eacute;r&eacute;s sous la forme de tableau associatif. (Cela n'est pas encore compl&egrave;tement cod&eacute;. Uniquement les attributs de titre, description et mot cl&eacute;s sont trait&eacute;s correctement). </para> <para> En dehors des documents, tous les hyper liens contenus dans un documents sont enregistr&eacute;s dans un autre enregistrement. Les hyperliens qui sont &agrave; l'int&eacute;rieur d'un document en seront supprim&eacute;s, et enregistr&eacute;s dans des objets particuliers, au moment de l'insertion dans la base de donn&eacute;es. L'enregistrement des hyper-liens contient les informations d'origine et d'objectif. Afin d'acc&eacute;der au document original, vous devrez lire le document sans les liens, puis lire les liens, et les r&eacute;ins&eacute;rer (les <function>hw_pipedocument</function> et <function>hw_gettext</function> le font pour vous. L'avantage de s&eacute;parer les liens du document est &eacute;vident : une fois qu'un document, cible d'un hyperlien, a &eacute;t&eacute; renomm&eacute;, le liens peut facilement &ecirc;tre modifi&eacute;. Le document contenant le lien n'est pas modifi&eacute; pour autant. Vous pouvez m&ecirc;me ajouter un lien &agrave; 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&icirc;t. L'insertion implique une certaine hi&eacute;rarchie de documents. Sur un serveur web, la hi&eacute;rarchie est fournie par le syst&egrave;me de fichiers, mais Hyperwave dispose de sa propre hi&eacute;rarchie et les noms de fichiers ne refl&egrave;tent pas la position d'un objet dans cette hi&eacute;rarchie. Ainsi, la cr&eacute;ation de liens requiert en premier lieu la construction de la hi&eacute;rarchie et de l'espace des noms dans une hi&eacute;rarchie web et un espace de nom web. La diff&eacute;rence fondamentale entre Hyperwave et le web est qu'il y a une distinction claire en les noms et la hi&eacute;rarchie dans Hyperwave. Le nom ne contient aucune information &agrave; propos de la position de l'objet dans la hi&eacute;rarchie. Sur le web, le nom contient les informations de localisation dans la hi&eacute;rarchie. Cela conduit &agrave; deux m&eacute;thodes de d'acc&egrave;s : soit la hi&eacute;rarchie Hyperwave et le nom de l'objet sont inscrits dans l'URL. Pour simplifier les choses, une deuxi&egrave;me approche est pratiqu&eacute;e. L'objet Hyperwave de nom 'mon_objet' correspond &agrave; l'URL 'http://hote/mon_objet', peu importe alors o&ugrave; il est rang&eacute; dans la hi&eacute;rarchie. Un objet dont le nom est 'parent/mon_objet' peut &ecirc;tre le fils de l'objet 'mon_objet' dans la hi&eacute;rarchie Hyperwave, bien que ce soit le contraire en convention web, et cela risque de perturber l'utilisateur. </para> <para> Ayant pris cette d&eacute;cision, un deuxi&egrave;me probl&egrave;me surgit : comment faire l'interface avec PHP ? L'URL http://hote/mon_objet n'appellera aucun script PHP &agrave; moins que vous ne demandiez &agrave; 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&eacute;nient , qui peut facilement &ecirc;tre corrig&eacute;. R&eacute;&eacute;crire une URL ne vous permettra aucun acc&egrave;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&egrave;gle pour exclure certaines URL, comme par exemple celles qui commencent par http://host/Hyperwave. Voici, de mani&egrave;re simple, la mani&egrave;re de partager un espace de nom entre un serveur web et un serveur Hyperwave serveur. </para> <para> Bas&eacute; sur le m&eacute;canisme pr&eacute;c&eacute;dent, on trouve l'insertion dans les documents. </para> <para> Il est plus compliqu&eacute; d'avoir PHP ne fonctionne pas comme un module de serveur, ou un script CGI, mais comme une application ind&eacute;pendante. Dans ce cas, il est utile d'inscrire la hi&eacute;rarchie et le nom de fichier Hyperwave dans le syst&egrave;me de fichier. Mais comme cela risque d'entrer en conflit avec le s&eacute;parateur de dossier ('/'), il faut le remplacer par un autre caract&egrave;re,. '_'. </para> <para> Le protocole r&eacute;seau pour communiquer avec un serveur Hyperwave est appel&eacute; <ulink url="&spec.hyperwave;">HG-CSP</ulink> (Hyper-G Client/Server Protocol). Il est bas&eacute; sur des messages qui initie des actions, comme par exemple, lire l'en-t&ecirc;te de fichier. Dans les premi&egrave;res versions de Hyperwave Server deux clients natifs (Harmony, Amadeus) &eacute;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&eacute; wavemaster est d&eacute;sormais fourni. wavemaster est un esp&egrave;ce ce convertisseur de protocole de <abbrev>HTTP</abbrev> en <abbrev>HG-CSP</abbrev>. L'id&eacute;e est de faire toute l'administration de la base et la visualisation des documents par une interface web. Le wavemaster impl&eacute;mente un jeu d'emplacement pour certaines actions de personnalisation de l'interface. Ce jeu est appel&eacute; <abbrev>PLACE</abbrev> language. <abbrev>PLACE</abbrev> p&ecirc;che encore par le manque de nombreuses fonctions de programmation, et le manque d'&eacute;volutivit&eacute;. Cela a conduit &agrave; 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&eacute;mente tous les messages d&eacute;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 &eacute;t&eacute; largement &eacute;tendue. Presque toutes les fonctions utilisent l'un des types de donn&eacute;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&eacute;es comme param&egrave;tre d'entr&eacute;e pour sp&eacute;cifier un objet. </simpara> </listitem> <listitem> <simpara> object record: Une cha&icirc;ne contenant des paires cl&eacute;=valeur. Les paires sont s&eacute;par&eacute;es par un retour &agrave; la ligne. Un enregistrement d'objet peut facilement &ecirc;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&eacute; est l'attribut. Si un attribut appara&icirc;t plusieurs fois, il sera repr&eacute;sent&eacute; sous la forme d'un tableau associatif ou index&eacute;. Les attributs qui d&eacute;pendent des langues (comme title, keyword ou description) seront repr&eacute;sent&eacute;s sous la forme d'un tableau associatif, dont les cl&eacute;s seront les abr&eacute;viations de langues. Tous les autres attributs &agrave; valeur multiple prendront la forme d'un tableau index&eacute;. </simpara> </listitem> <listitem> <simpara> hw_document: Ce type est un nouveau type de donn&eacute;es, qui contient le document lui-m&ecirc;me, comme par exemple HTML, PDF etc. Il est optimis&eacute; 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&eacute;, avec des informations statistiques. Ce tableau est le dernier &eacute;l&eacute;ment du tableau d'enregistrements. Les statistiques contiennent les entr&eacute;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 &agrave; 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&eacute;gration avec Apache</title> <para> L'extension Hyperwave est utilis&eacute;e de mani&egrave;re optimale lorsque PHP est compil&eacute; comme module Apache. Dans ce cas, le serveur Hyperwave sous jacent peut &ecirc;tre cach&eacute; quasiment totalement aux utilisateurs, si Apache utilise son moteur d'&eacute;criture. Les explications suivantes vous &eacute;claireront : </para> <para> Etant donn&eacute; que PHP avec l'extension Hyperwave et Apache tend &agrave; remplacer la solution native bas&eacute;e sur Wavemaster, je vais supposer que le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas n&eacute;cessaire, mais cela simplifie grandment la configuration. Le concept est tr&egrave;s simple. Premi&egrave;rement, vous avez besoin d'un script PHP qui &eacute;value la variable <envar>PATH_INFO</envar> et consid&egrave;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&eacute;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&eacute;lioration peut &ecirc;tre obtenue en utilisant le moteur de r&eacute;&eacute;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&egrave;gle de r&eacute;&eacute;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 &agrave; un probl&egrave;me simple. Il n'y a pas d'autre fa&ccedil;on d'ex&eacute;cuter, c'est-&agrave;-dire rechercher, un autre script que ce script 'Hyperwave'. Cela pourra &ecirc;tre corrig&eacute; avec une autre r&egrave;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&eacute;serv&eacute; pour d'autres scripts et fichiers. Assurez-vous que cette r&egrave;gle est &eacute;valu&eacute;e avant la premi&egrave;re r&egrave;gle que nous avons d&eacute;finie. Il y a juste un l&eacute;ger inconv&eacute;nient : tous les objets Hyperwave qui commencent par 'hw/' seront cach&eacute;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&egrave;gles. N'oubliez pas de lancer le moteur de r&eacute;&eacute;criture avec <informalexample> <programlisting role="apache-conf">RewriteEngine on </programlisting> </informalexample> Mon exp&eacute;rience m'a montr&eacute; que vous aurez besoin des scripts suivants : <itemizedlist> <listitem> <simpara> Retourne l'objet lui-m&ecirc;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&eacute;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 &agrave; faire : <itemizedlist> <listitem> <simpara> La fonction hw_InsertDocument doit &ecirc;tre s&eacute;par&eacute;e en deux : hw_insertobject() et hw_putdocument(). </simpara> </listitem> <listitem> <simpara> Les noms de nombreuses fonctions ne sont pas encore fix&eacute;s. </simpara> </listitem> <listitem> <simpara> La majorit&eacute; des fonctions requi&egrave;rent la connexion courante comme premier param&egrave;tre. Cela conduit &agrave; beaucoup de frappe clavier, m&ecirc;me s'il n'y a souvent qu'une seule connexion en jeu. Une connexion par d&eacute;faut am&eacute;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&eacute;rentes langues seront trait&eacute;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 &agrave; 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&egrave;s, ou &false;, si la connexion n'a pas pu &ecirc;tre cr&eacute;&eacute;e. Chaque argument doit &ecirc;tre entour&eacute; de guillemets, sauf le num&eacute;ro de port. Les arguments <parameter>username</parameter> et <parameter>password</parameter> sont optionnels, et peuvent &ecirc;tre ignor&eacute;s. Dans ce cas, aucune identification ne sera faite au niveau du serveur. Cela revient &agrave; s'identifier en tant qu'utilisateur anonyme. Cette fonction retourne un identifiant de connexion qui sera n&eacute;cessaire aux autres fonctions Hyperwave. Vous pouvez avoir plusieurs connexions simultan&eacute;es. N'oubliez pas que les mots de passe ne sont pas crypt&eacute;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&eacute;e un groupe ayant l'object id <parameter>destination_id</parameter>. </para> <para> La valeur retourn&eacute;e est le nombre d'objets copi&eacute;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&eacute;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 &agrave; <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 &ecirc;tre affich&eacute;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 &ecirc;tre affich&eacute;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&eacute;sente tout qui est plac&eacute; au-del&agrave; de la balise BODY. Les informations de HEAD et de la balise BODY sont enregistr&eacute;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&eacute;e. Si la fonction &eacute;choue, l'ancien contenu est restaur&eacute;. </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&icirc;ne contenant le dernier message d'erreur, ou 'No Error' (pas d'erreur). Si &false; est retourn&eacute;, cette fonction a &eacute;chou&eacute;. Ce message est relatif &agrave; la derni&egrave;re commande ex&eacute;cut&eacute;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 &ecirc;tre modifi&eacute;s tant que le document est en train d'&ecirc;tre &eacute;dit&eacute;. 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&egrave;re erreur. Si la valeur 0 est retourn&eacute;e, c'est qu'il n'y avait pas d'erreur. L'erreur se rapporte &agrave; la derni&egrave;re commande. </para> </refsect1> </refentry> <refentry id="function.hw-free-document"> <refnamediv> <refname>hw_Free_Document</refname> <refpurpose>D&eacute;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&eacute;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&eacute; 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&eacute;, avec les attributs et un tableau associ&eacute;, d'informations statistiques &agrave; propos des attributs. Ce tableau associ&eacute; est le dernier &eacute;l&eacute;ment du tableau retourn&eacute;. Chaque attribut appartient au p&egrave;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 &agrave; 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 &eacute;loign&eacute;s sont des pages web externes, ou des requ&ecirc;tes sur une base de donn&eacute;es. Afin de pouvoir acc&eacute;der &agrave; des sources externes, gr&acirc;ce aux documents distants, Hyperwave introduit l'interface HGI (Hyperwave Gateway Interface) qui est similaire &agrave; CGI. Actuellement, seuls les protocoles de FTP, HTTP et certaines bases de donn&eacute;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&eacute;f&eacute;rable d'utiliser PHP plut&ocirc;t que Hyperwave pour acc&eacute;der aux sources externes. Le support des bases de donn&eacute;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&ecirc;mes. Cela est coh&eacute;rent si une requ&ecirc;te sur une base de donn&eacute;es doit &ecirc;tre rendu plus s&eacute;lective, comme expliqu&eacute; dans Hyperwave Programmers' Guide. Si le nombre de fils est 1 la fonction va retourner le document lui-m&ecirc;me, la fonction retournera le document lui-m&ecirc;me, format&eacute; Hyperwave Gateway Interface (HGI). Si le nombre de fils est sup&eacute;rieur 1 la fonction retournera un tableau d'attributs, qui pourra servir &agrave; une nouvelle requ&ecirc;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 &ecirc;tre tr&egrave;s familier HGIs. Il vaut mieux PHP plut&ocirc;t que Hyperwave pour acc&eacute;der aux fichiers distants. Le support de base de donn&eacute;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 &ecirc;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&egrave;tre est un entier. Si le second param&egrave;tre est un tableau, la fonction retournera un tableau d'attributs. Dans ce cas, le dernier param&egrave;tre est aussi &eacute;valu&eacute;. </para> <para> <parameter>query</parameter> a la syntaxe suivante : </para> <simpara> &lt;expression> ::= "(" &lt;expression> ")" | </simpara> <simpara> "!" &lt;expression> | /* NOT */ </simpara> <simpara> &lt;expression> "||" &lt;expression> | /* OR */ </simpara> <simpara> &lt;expression> "&amp;&amp;" &lt;expression> | /* AND */ </simpara> <simpara> &lt;attribute> &lt;operator> &lt;value> </simpara> <simpara> &lt;attribute> ::= /* * n'importe quel attribut (Title, Author, DocumentType ...) */ </simpara> <simpara> &lt;operator> ::= "=" | /* &eacute;gal */ </simpara> <simpara> "&lt;" | /* moins que (comparaison de type cha&icirc;ne) */ </simpara> <simpara> ">" | /* plus que (comparaison de type cha&icirc;ne) */ </simpara> <simpara> "~" /* recherche par expression r&eacute;guli&egrave;re */ </simpara> <simpara> </simpara> <para> <parameter>query</parameter> permet de s&eacute;lectionner une nouvelle fois certains objets dans la liste des objets donn&eacute;s. Contrairement aux autres requ&ecirc;tes, celle-ci peut utiliser des attributs non index&eacute;s. Le nombre d'attributs retourn&eacute; d&eacute;pend de la requ&ecirc;te de la requ&ecirc;te, et des autorisations d'acc&egrave;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&ecirc;chera les autres utilisateurs d'y acc&eacute;der, jusqu'&agrave; ce qu'il soit deverrouill&eacute;. </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&egrave;de des ancrages qui peuvent &ecirc;tre ins&eacute;r&eacute;s, ils seront d&eacute;j&agrave; ins&eacute;r&eacute;s. L'option rootID/prefix peut &ecirc;tre une cha&icirc;ne ou un entier. Si c'est un entier, il d&eacute;termine la m&eacute;thode d'insertion des liens dans le document. Par d&eacute;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 &lt;A HREF="/internet_movie">. La position r&eacute;elle de la source et de la cible dans la hi&eacute;rarchie seront ignor&eacute;s. Vous devrez modificer votre site web pour qu'il r&eacute;&eacute;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 &agrave; rootID/prefix n'importe quel prefixe. Dans ce cas, ce sera une cha&icirc;ne. </para> <para> Si <parameter>rootID/prefix</parameter> est un entier diff&eacute;rent de 0 le lien sera construit avec tous les noms de la hi&eacute;rarchie, en commen&ccedil;ant &agrave; l'objet d'identifiant rootID/prefix, et s&eacute;par&eacute; par des slash. Si, par exemple, le document 'film_internet' est situ&eacute; &agrave; 'a-b-c-internet_movie' et '-' qui sert de s&eacute;parateur hi&eacute;rarchique de niveau sur le serveur Hyperwave et le document source est situ&eacute; dans 'a-b-d-source' alors, le lien HTML serait: &lt;A HREF="../c/internet_movie">. Cela est tr&egrave;s pratique si vous voulez t&eacute;l&eacute;charger tout le contenu d'un serveur sur un disque, et faire une carte du syst&egrave;me sur votre disque. </para> <para> <function>hw_gettext</function> n'est op&eacute;rationnelle qu'avec des documents de pur texte. Elle n'ouvrira pas de canal sp&eacute;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&eacute; par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute; par <parameter>max_hits</parameter>. Si <parameter>max_hits</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute; par <parameter>objectID</parameter>. Si <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute; par <parameter>objectID</parameter>. Si <parameter>objectID</parameter> vaut -1 il n'y a pas de limite. </para> <para> La requ&ecirc;te ne fonctionnera qu'avec des attributs index&eacute;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&eacute;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&eacute;places les objets dont les identifiants sont pass&eacute;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&eacute;r&eacute;s dans le groupe (ni dans le serveur). Dans ce cas, si une instance &eacute;tait la derni&egrave;re instance d'un objet, l'objet sera effac&eacute;. Si vous voulez effacer toutes les instances d'un coup, utilisez <function>hw_deleteobject</function>. </para> <para> La valeur retourn&eacute;e est le nombre d'objet d&eacute;plac&eacute;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&eacute;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&eacute;rifie qu'un ensemble d'objets (documents ou groupes) donn&eacute;s par <parameter>object_id_array</parameter> fait partie des groupe list&eacute;s par <parameter>object_id_array</parameter>. Lorsque le quatri&egrave;me param&egrave;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&eacute;cursivement) est retourn&eacute; sous la forme d'un tableau. Cette option permet de mettre en valeur la partie de l'arborescence qui contient le r&eacute;sultat d'une requ&ecirc;te, dans un sens graphique. </para> </refsect1> </refentry> <refentry id="function.hw-info"> <refnamediv> <refname>hw_Info</refname> <refpurpose>Informations &agrave; 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&icirc;ne retourn&eacute;e a le format suivant : &lt;Serverstring&gt;, &lt;Host&gt;, &lt;Port&gt;, &lt;Username&gt;, &lt;Port of Client&gt;, &lt;Byte swapping&gt; </para> </refsect1> </refentry> <refentry id="function.hw-inscoll"> <refnamediv> <refname>hw_InsColl</refname> <refpurpose>Ins&egrave;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&egrave;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&egrave;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&egrave;re un nouveau document avec les attributs <parameter>object_record</parameter>, dans le groupe <parameter>parentID</parameter>. Cette fonction ins&egrave;re soit un objet avec ses seuls attributs, soit pur objet ascii, avec <parameter>text</parameter> s'il est fourni. Si vous voulez ins&eacute;rer un document de type g&eacute;n&eacute;ral, utilisez plut&ocirc;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&egrave;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&egrave;re un document dans le groupe <parameter>parent_id</parameter>. Le document doit avoir &eacute;t&eacute; cr&eacute;&eacute; 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&eacute;r&eacute;, 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&egrave;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&egrave;re un objet dans le serveur. L'objet peut &ecirc;tre n'importe quel objet Hyperwave valide. Reportez-vous &agrave; la documentation HG-CSP pour plus de d&eacute;tails sur les param&egrave;tres. </para> <para> Note: Si vous voulez ins&eacute;rer un ancre, l'attribut Position doit &ecirc;tre mis &agrave; la valeur start/end (d&eacute;but ou fin) ou encore 'invisible'. Les positions invisibles sont n&eacute;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&eacute;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&eacute;sente l'id d'un objet global de n'importe quel serveur Hyperwave, m&ecirc;me si vous ne vous y &ecirc;tes pas connect&eacute; avec <function>hw_connect</function>, avec un id d'objet local virtuel. Cet id d'objet local peut alors &ecirc;tre utilis&eacute; 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&egrave;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 &ecirc;tre fait qu'&agrave; la compilation. Par d&eacute;faut, il n'est pas lev&eacute;. 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&eacute; par son identifiant <parameter>object_to_change</parameter>. Le premier tableau, <parameter>remove</parameter>, est la liste des attributs &agrave; effacer. Le deuxi&egrave;me tableau <parameter>add</parameter> est la liste des attributs &agrave; ajouter. Afin de modifier un attribut, il vous faudra dont l'effacer, puis l'ajouter &agrave; nouveau. <function>hw_modifyobject</function> effacera toujours les attributs avant de les ajouter, &agrave; moins que la valeur de l'attribut &agrave; effacer ne soit pas une cha&icirc;ne, ou un tableau. </para> <para> Le dernier param&egrave;tre d&eacute;termine si la modification est r&eacute;cursive ou pas. 1 signifie que la modification est r&eacute;cursive. Si un objet ne peut pas &ecirc;tre modifi&eacute;, il sera ignor&eacute;. <function>hw_error</function> n'indiquera alors pas toujours d'erreur, m&ecirc;me si certains objets n'ont pas pu &ecirc;tre modifi&eacute;. </para> <para> Les cl&eacute;s des deux tableaux sont les noms des attributs. La valeur de chaque &eacute;l&eacute;ment peut &ecirc;tre un tableau, ou une cha&icirc;ne ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut est construite en s&eacute;parant chaque &eacute;l&eacute;ment par un point virgule. Dans le cas de la cha&icirc;ne, elle sert directement de valeur. Une cha&icirc;ne vide provoquera un effacement de l'attribut. Dans le cas o&ugrave; la valeur n'est ni un tableau, ni une cha&icirc;ne, aucune op&eacute;ration ne sera effectu&eacute;e. Cela est n&eacute;cessaire si vous voulez ajouter un attribut compl&egrave;tement une nouvelle valeur pour un attribut existant. Si le tableau d'effacement contenait une cha&icirc;ne vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui &eacute;chouerai de toute mani&egrave;re, car cet attribut n'existe pas. L'ajout de cet attribut &eacute;chouerai aussi. Affecter la valeur de 0 &agrave; 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">&lt;?php // $connect est une connexion valide // $objid est l'identifiant de l'objet $remarr = array("Name" =&gt; "books"); $addarr = array("Name" =&gt; "articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?&gt; </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&egrave;me param&egrave;tre vide. Si l'attribut est le premier de ce nom &agrave; ajouter, donnez une valeur enti&egrave;re &agrave; cet &eacute;l&eacute;ment. <example> <title>Ajouter un nouvel attribut</title> <programlisting role="php">&lt;?php // $connect st une connexion Hyperwave valide // $objid est l'identifiant de l'objet &agrave; modifier $remarr = array("Name" =&gt; 0); $addarr = array("Name" =&gt; "articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?&gt; </programlisting> </example> </para> <para> <note> <simpara> Les attributs multilingues, (tels que 'Title'), peuvent &ecirc;tre modifi&eacute;s de deux mani&egrave;res : soit en fournissant la valeur de ces attributs de mani&egrave;re native (langue :valeur), soit en fournissant un tableau avec les &eacute;l&eacute;ments de chaque langue, comme d&eacute;crit ci-dessus. L'exemple deviendrai alors : </simpara> </note> <example> <title>Modifier l'attribut de Titre (Title)</title> <programlisting role="php">&lt;?php $remarr = array("Title" =&gt; "en:Books"); $addarr = array("Title" =&gt; "en:Articles"); $hw_modifyobject($connect, $objid, $remarr, $addarr);?&gt; </programlisting> </example> ou <example> <title>Modifier l'attribut Title</title> <programlisting role="php">&lt;?php $remarr = array("Title" =&gt; array("en" =&gt; "Books")); $addarr = array("Title" =&gt; array("en" =&gt; "Articles", "ge"=&gt;"Artikel")); $hw_modifyobject($connect, $objid, $remarr, $addarr);?&gt; </programlisting> </example> Pour supprimer l'entr&eacute;e fran&ccedil;aise 'Livres' et ajouter l'entr&eacute;e 'Articles' et l'entr&eacute;e allemande 'Artikel'. <example> <title>Suppression d'un attribut</title> <programlisting role="php">&lt;?php$remarr = array("Title" =&gt; "");$addarr = array("Title" =&gt; "en:Articles");$hw_modifyobject($connect, $objid, $remarr, $addarr);?&gt; </programlisting> </example> <note> <simpara> Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter un nouvel attribut 'Title'. Cela peut &ecirc;tre pratique pour effacer des attributs r&eacute;cursivement. </simpara> </note> <note> <simpara> Si vous devez effacer tous les attributs avec un certains nom, vous devez passer une cha&icirc;ne vide comme valeur. </simpara> </note> <note> <simpara> Seuls les attributs 'Title', 'Description' et 'Keyword' g&egrave;re correctement le pr&eacute;fixe de langue. Pour les autres attributs qui ne portent pas de pr&eacute;fixe de language, le pr&eacute;fixe 'xx' sera assign&eacute;. </simpara> </note> <note> <simpara> L'attribut 'Name' est un peu particuluer. Dans certains cas, il ne peut pas &ecirc;tre compl&eacute;tement effac&eacute;. Vous aurez alors le message 'Change of base attribute' (l'apparition de cette erreur n'est pas tr&egrave;s claire). Ainsi, vous aurez &agrave; ajouter une nouvelle entr&eacute;e pour Name puis, effacer l'ancien. </simpara> </note> <note> <simpara> Il ne faut pas encadrer cette fonction par des appels &agrave; <function>hw_getandlock</function> et <function>hw_unlock</function>. <function>hw_modifyobject</function> le fait de mani&egrave;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&eacute;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&eacute;es <parameter>document_data</parameter> et comme attributs <parameter>object_record</parameter>. La longueur de <parameter>document_data</parameter> doit &ecirc;tre donn&eacute;es dans <parameter>document_size</parameter>. Cette fonction n'ins&egrave;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&eacute;s du tableau seront les noms des attributs. Les attributs multiples comme par exemple 'Title', dans diff&eacute;rentes langues, seront rassembl&eacute;es dans un autre tableau. Une cl&eacute; est la partie gauche d'un attribut. Actuellement, seuls les attributs 'Title', 'Description' et 'Keyword' sont trait&eacute;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&eacute;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&egrave;s, et &false; si la connexion n'a pas pu &ecirc;tre cr&eacute;&eacute;e. <function>hw_pconnect</function> ouvre une connexion persistante &agrave; un serveur Hyperwave. Tous les arguments doivent &ecirc;tre entre guillemets, hormis le num&eacute;ro de port <parameter>port</parameter>. Les arguments <parameter>username</parameter> et <parameter>password</parameter> sont optionnels, et peuvent &ecirc;tre ignor&eacute;s. Dans ce cas, aucune authentification ne sera faite, (connexion anonyme). Cette fonction retourne un index de connexion qui sera utilis&eacute;e par les autres fonctions Hyperwave. Vous pouvez ouvrir plusieurs connexions simultan&eacute;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&eacute;r&eacute;s. Le document sera transmis via une connexion de donn&eacute;es sp&eacute;ciale, qui ne bloque pas la connexion de contr&ocirc;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&eacute;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&eacute;verrouille un document, et laisse l'acc&egrave;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&eacute;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&eacute;s au serveur Hyperwave. Chaque &eacute;l&eacute;ment du tableau est lui-m&ecirc;me un tableau, qui contient l'identifiant de l'&eacute;l&eacute;ment, le nom, le syst&egrave;me, la date de connexion (onSinceDate), l'heure de connexion (onSinceTime), la dur&eacute;e de connexion (TotalTime ) et self. 'self' contient l'&eacute;l&eacute;ment est l'utilisateur qui a appel&eacute; la fonction. </para> </refsect1> </refentry> <refentry id="function.hw-getusername"> <refnamediv> <refname>hw_Username</refname> <refpurpose>Nom de l'utilisateur actuellement identifi&eacute;.</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&eacute; 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 @@ &agrave; PHP 4.0. </para> <para> - Cette base de donn&eacute;es utilise les guillemets simples (') + Cette base de donn&eacute;es utilise les guillemets simples (<literal>'</literal>) pour &eacute;chapper les caract&egrave;res, un peu comme le fait Sybase. Ajoutez &agrave; 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&eacute;cup&eacute;rez la derni&egrave;re - version &agrave; <ulink url="&url.icap;">&url.icap;</ulink> et - d&eacute;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&egrave;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&egrave;tre - <parameter>options</parameter> est sp&eacute;cifi&eacute;, passe - <parameter>options</parameter> &agrave; la bo&icirc;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 &eacute;v&eacute;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 &eacute;venement - dans le calendrier sp&eacute;cifi&eacute; par <parameter>id</parameter>. - </para> - <para> - Retourne un objet &eacute;v&eacute;nement dont les attributs sont : - <itemizedlist> - <listitem> - <simpara> - int id - ID de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - int public - &true; si l'&eacute;v&eacute;nement est public, &false; si il est priv&eacute;. - </simpara> - </listitem> - <listitem> - <simpara> - string category - Cat&eacute;gorie de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - string title - Titre de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - string description - Description de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - int alarm - Nombre de minutes avant d'envoyer une alerte pour cet &eacute;v&eacute;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&eacute;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'&eacute;v&eacute;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'&eacute;v&eacute;n&eacute;ments, compris entre deux dates. - </para> - <para> - <function>icap_list_events</function> prend une date de d&eacute;but et - une date de fin. Un tableau d'identifiants est retourn&eacute;. - </para> - <para> - Tous les objets de date et heure sont construits comme suit : - <itemizedlist> - <listitem> - <simpara> - int year - ann&eacute;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 &eacute;v&eacute;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 &eacute;v&eacute;nement - dans un calendrier ICAP. - </para> - <para> - Un &eacute;v&eacute;nement est un objet avec les attributs suivants : - <itemizedlist> - <listitem> - <simpara> - int id - ID de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - int public - &true; si l'&eacute;v&eacute;nement est public, &false; si il est priv&eacute;. - </simpara> - </listitem> - <listitem> - <simpara> - string category - Cat&eacute;gorie de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - string title - Titre de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - string description - Description de l'&eacute;v&eacute;nement. - </simpara> - </listitem> - <listitem> - <simpara> - int alarm - Nombre de minutes avant d'envoyer une alerte pour cet &eacute;v&eacute;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&eacute;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&egrave;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 &eacute;v&eacute;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'&eacute;v&eacute;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 &eacute;v&eacute;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> &eacute;teind l'alarme de - l'&eacute;v&eacute;nement identifi&eacute; 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'&eacute;v&eacute;nements qui ont une alarme - pr&eacute;vue &agrave; 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&eacute;vue &agrave; 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&eacute;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&eacute;cup&eacute;rez la derni&egrave;re version &agrave; <ulink url="&url.icap;">&url.icap;</ulink> et d&eacute;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&egrave;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&egrave;tre <parameter>options</parameter> est sp&eacute;cifi&eacute;, passe <parameter>options</parameter> &agrave; la bo&icirc;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 &eacute;v&eacute;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 &eacute;venement dans le calendrier sp&eacute;cifi&eacute; par <parameter>id</parameter>. </para> <para> <function>icap_fetch_event</function> retourne un objet &eacute;v&eacute;nement dont les attributs sont : <itemizedlist> <listitem> <simpara> int id - ID de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> int public - &true; si l'&eacute;v&eacute;nement est public, &false; si il est priv&eacute;. </simpara> </listitem> <listitem> <simpara> string category - Cat&eacute;gorie de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> string title - Titre de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> string description - Description de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> int alarm - Nombre de minutes avant d'envoyer une alerte pour cet &eacute;v&eacute;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&eacute;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'&eacute;v&eacute;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'&eacute;v&eacute;n&eacute;ments, compris entre deux dates. </para> <para> <function>icap_list_events</function> prend une date de d&eacute;but et une date de fin. Un tableau d'identifiants est retourn&eacute;. </para> <para> Tous les objets de date et heure sont construits comme suit : <itemizedlist> <listitem> <simpara> int year - ann&eacute;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 &eacute;v&eacute;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 &eacute;v&eacute;nement dans un calendrier ICAP. </para> <para> Un &eacute;v&eacute;nement est un objet avec les attributs suivants : <itemizedlist> <listitem> <simpara> int id - ID de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> int public - &true; si l'&eacute;v&eacute;nement est public, &false; si il est priv&eacute;. </simpara> </listitem> <listitem> <simpara> string category - Cat&eacute;gorie de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> string title - Titre de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> string description - Description de l'&eacute;v&eacute;nement. </simpara> </listitem> <listitem> <simpara> int alarm - Nombre de minutes avant d'envoyer une alerte pour cet &eacute;v&eacute;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&eacute;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&egrave;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 &eacute;v&eacute;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'&eacute;v&eacute;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 &eacute;v&eacute;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> &eacute;teind l'alarme de l'&eacute;v&eacute;nement identifi&eacute; 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'&eacute;v&eacute;nements qui ont une alarme pr&eacute;vue &agrave; 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&eacute;vue &agrave; 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&eacute;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&egrave;res. - Les jeux support&eacute;s d&eacute;pendent de l'impl&eacute;mentation de iconv() sur votre - syst&egrave;me. Notez que cette fonction ne fonctionne pas toujours bien + Les jeux support&eacute;s d&eacute;pendent de l'impl&eacute;mentation de iconv() + sur votre syst&egrave;me. Notez que cette fonction ne fonctionne pas toujours bien sur tous les syst&egrave;mes. Dans ce cas, vous devez installer la librairie tout de m&ecirc;me. </para> @@ -45,7 +47,7 @@ <title>Exemple avec <function>iconv</function></title> <programlisting role="php"> &lt;?php - echo iconv("ISO-8859-1","UTF8","Ceci est un test."); + echo iconv("ISO-8859-1","UTF-8","Ceci est un test."); ?&gt; </programlisting> </example> @@ -144,7 +146,8 @@ <para> <function>ob_iconv_handler</function> convertit la cha&icirc;ne utilisant le jeu de caract&egrave;res <parameter>internal_encoding</parameter> en - une cha&icirc;ne utilisant le jeu de caract&egrave;res <parameter>output_encoding</parameter>. + une cha&icirc;ne utilisant le jeu de caract&egrave;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&egrave;s, et <literal>FALSE</literal> sinon. + cas de succ&egrave;s, et &false; sinon. </para> <para> <function>ifx_connect</function> &eacute;tablit une connexion &agrave; 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 &agrave; 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&egrave;re tr&egrave;s @@ -269,7 +273,8 @@ Ainsi, ce type de lien est appel&eacute; '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&eacute;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&eacute;sultat Informix en cas de succ&egrave;s, et <literal>FALSE</literal> en cas d'erreur. + r&eacute;sultat Informix en cas de succ&egrave;s, et &false; en cas d'erreur. </para> <para> L'entier de type "identifiant de r&eacute;sultat" est utilis&eacute; 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&egrave;s, - <literal>FALSE</literal> en cas d'erreur. + <function>ifx_do</function> retourne &true; en cas de succ&egrave;s, + &false; en cas d'erreur. </para> <para> Ex&eacute;cute une requ&ecirc;te qui a d&eacute;j&agrave; &eacute;t&eacute; @@ -538,7 +547,8 @@ acc&egrave;s ult&eacute;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&egrave;re - requ&ecirc;te Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) - format&eacute; comme suit : + requ&ecirc;te Informix. Les codes d'erreur Informix (<constant>SQLSTATE</constant> + et <constant>SQLCODE</constant>) format&eacute; comme suit : </para> <para> x [SQLSTATE = aa bbb SQLCODE=cccc] @@ -600,7 +610,8 @@ ou '<literal>N</literal>' (aucune donn&eacute;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&eacute;sultats. </para> <para> - Voir aussi : <function>ifx_num_rows</function>. + Voir aussi + <function>ifx_num_rows</function>. </para> <example> <title>Nombre de lignes affect&eacute;es</title> @@ -767,7 +780,7 @@ </funcsynopsis> <para> <function>ifx_fetch_row</function> retourne un tableau associatif qui - contient la ligne retourn&eacute;e, ou <literal>FALSE</literal> s'il ne reste plus de + contient la ligne retourn&eacute;e, ou &false; s'il ne reste plus de lignes &agrave; 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&eacute;s sous forme de cha&icirc;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&eacute;rieurs &agrave; <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&eacute;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&eacute;, et les donn&eacute;es de propri&eacute;t&eacute;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&ecirc;te <parameter>result_id</parameter> ou <literal>FALSE</literal> en cas d'erreur. + dans la requ&ecirc;te <parameter>result_id</parameter> ou &false; en cas d'erreur. </para> <para> Apr&egrave;s avoir pr&eacute;par&eacute; ou ex&eacute;cut&eacute; une @@ -1032,7 +1045,7 @@ <para> <function>ifx_free_result</function> lib&egrave;re les ressources prises par le r&eacute;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&eacute;r&eacute; par son identifiant<parameter>bid</parameter>. <parameter>content</parameter> est une cha&icirc;ne avec les nouvelles donn&eacute;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&eacute;r&eacute; par sont identifiant <parameter>bid</parameter>. <parameter>content</parameter> est une cha&icirc;ne contenant les nouvelles donn&eacute;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&eacute;c&eacute;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&eacute;sent&eacute; 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&eacute;c&eacute;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 &agrave; 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&icirc;ne de caract&egrave;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&eacute;es &agrave; &eacute;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 &eacute;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 - &agrave; <ulink url="&url.gd;">&url.gd;</ulink>) vous pourrez aussi - cr&eacute;er et manipuler ces images. - </simpara> - <simpara> - Les formats des images que vous pourrez manipuler d&eacute;pendent de la - version de GD que vous installerez, et de toute autre librairie - dont GD a besoin pour traiter &agrave; ces images. Les versions - ant&eacute;rieures &agrave; la version 1.6 supportent le - <acronym>GIF</acronym>, mais pas le <acronym>PNG</acronym>. - Pour les versions plus r&eacute;centes, c'est le contraire. - </simpara> - <simpara> - Pour acc&eacute;der aux images en <acronym>JPEG</acronym>, vous devez - installer la librairie jpeg-6b (disponible &agrave; - <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 &agrave; <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&eacute;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&icirc;ne type - &quot;height/width&quot;, &agrave; placer dans une - balise <acronym>HTML</acronym> ou <sgmltag>IMG</sgmltag> normale. - </para> - <para> - <function>getimagesize</function> retourne un tableau de 4 &eacute;l&eacute;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&icirc;ne &agrave; placer dans les balises HTML : - &quot;height=xxx width=xxx&quot;. - <example> - <title><function>getimagesize</function></title> - <programlisting role="php"> -&lt;?php - $size = getimagesize("img/flag.jpg"); -?&gt; -&lt;IMG SRC="img/flag.jpg" -&lt;?php - echo $size[3]; -?&gt;> - </programlisting> - </example> - </para> - <para> - <example> - <title><function>getimagesize</function> avec une URL</title> - <programlisting role="php"> -&lt;?php - $size = getimagesize("http://www.php.net/gifs/logo.gif"); -?&gt; - </programlisting> - </example> - </para> - <para> - Avec les images <acronym>JPEG</acronym>, deux en-t&ecirc;tes suppl&eacute;mentaires sont - retourn&eacute;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&egrave;s &agrave; <parameter>filename</parameter> est impossible, - ou si ce n'est pas une image valide, <function>getimagesize</function> - retournera <literal>NULL</literal> et g&eacute;n&eacute;rera une alerte. - </para> - <para> - Le param&egrave;tre optionnel <parameter>imageinfo</parameter> permet - d'extraire des informations suppl&eacute;mentaires du fichier image. - Actuellement, cette option va retourner diff&eacute;rents marqueurs - <acronym>JPG</acronym> APP dans un tableau associatif. Certains programmes - utilisent ces marqueur APP pour pr&eacute;ciser les informations dans - les balises HTML. Un marqueur commun est le marqueur APP13, d&eacute;crit - &agrave; <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"> -&lt;?php - $size = getimagesize("testimg.jpg",&amp;$info); - if (isset($info["APP13"])) { - $iptc = iptcparse($info["APP13"]); - var_dump($iptc); - } -?&gt; - </programlisting> - </example> - <note> - <simpara> - <function>getimagesize</function> ne requiert pas la biblioth&egrave;que GD. - </simpara> - </note> - <note> - <simpara> - Le support URL a &eacute;t&eacute; ajout&eacute; 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 &agrave; chaque fonction de dessin, tel que - <function>imagesetpixel</function> peut d&eacute;terminer sa transparence. GD va alors - automatiquement mixer la couleur &agrave; ce point, et stocker le r&eacute;sultat dans - l'image. Le pixel r&eacute;sultant est alors opaque. En mode non-mixant, la - couleur est copi&eacute;e litt&eacute;ralement avec ses informations de canal alpha, - et remplace le pixel de destination. Le mixage n'est pas disponible - avec les images &agrave; palette. Si <parameter>blendmode</parameter> vaut - <literal>TRUE</literal>, alors le mode de mixage sera activ&eacute;, sinon - il sera d&eacute;sactiv&eacute;. - </para> - <note> - <para> - <function>imagealphablending</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;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&eacute;e sur - <parameter>cx</parameter>, <parameter>cy</parameter> (le coin en haut &agrave; - gauche est l'origine (0,0)) dans l'image r&eacute;f&eacute;renc&eacute;e par - <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> sp&eacute;cifient la largeur et la hauteur de l'ellipse, - tandis que le d&eacute;but et la fin de l'arc sont donn&eacute;s en - degr&eacute;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&eacute;e - sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin sup&eacute;rieur gauche est (0, 0), dans l'image <parameter>im</parameter>. - <parameter>w</parameter> et <parameter>h</parameter> sp&eacute;cifient - respectivement la largeur et la hauteur de l'ellipse, tandis que les points - de d&eacute;but et de fin sont repr&eacute;sent&eacute;s par <parameter>s</parameter> et - <parameter>e</parameter>, en degr&eacute;s. L'argument <parameter>style</parameter> - est un champ de bits, combin&eacute; avec l'op&eacute;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&eacute;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 &ecirc;tre - dessin&eacute; mais pas rempli. <literal>IMG_ARC_EDGED</literal>, utilis&eacute; conjointement - avec <literal>IMG_ARC_NOFILL</literal>, indique que les angles de - d&eacute;but et de fin doivent &ecirc;tre connect&eacute;s au centre. Cette fonction est - recommand&eacute;e pour faire les graphiques de type camenbert. - </para> - <note> - <para> - <function>imagefilledarc</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;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&eacute;e sur - le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin sup&eacute;rieur gauche est aux coordonn&eacute;es (0,0). L'image - de dessin est <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> sp&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;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&eacute;e sur - le point (<parameter>cx</parameter>, <parameter>cy</parameter>). - Le coin sup&eacute;rieur gauche est aux coordonn&eacute;es (0,0). L'image - de dessin est <parameter>im</parameter>. <parameter>w</parameter> et - <parameter>h</parameter> sp&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;cessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagechar"> - <refnamediv> - <refname>ImageChar</refname> - <refpurpose>Dessine un caract&egrave;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&egrave;re de la cha&icirc;ne - <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin - sup&eacute;rieur gauche plac&eacute; &agrave; la position <parameter>x</parameter>,<parameter>y</parameter> - (le coin en haut &agrave; 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&eacute;gr&eacute;e - sera utilis&eacute;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&egrave;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&egrave;re - de la cha&icirc;ne <parameter>c</parameter> dans l'image - <parameter>id</parameter> avec le coin sup&eacute;rieur gauche - plac&eacute; &agrave; la position (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin en haut &agrave; 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&eacute;gr&eacute;e sera utilis&eacute;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&eacute;sentant la couleur compos&eacute;e avec les couleurs RGB - (<parameter>red</parameter>, <parameter>green</parameter>, - <parameter>blue</parameter>). L'argument <parameter>im</parameter> est - le r&eacute;sultat de la fonction <function>imagecreate</function>. - <function>imagecolorallocate</function> - doit &ecirc;tre appel&eacute;e pour cr&eacute;er chaque couleur - qui sera repr&eacute;sent&eacute;e par <parameter>im</parameter>. - <informalexample> - <programlisting role="php"> -&lt;?php - $white = imagecolorallocate($im, 255,255,255); - $black = imagecolorallocate($im, 0,0,0); -?&gt; - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolordeallocate"> - <refnamediv> - <refname>ImageColorDeAllocate</refname> - <refpurpose> - D&eacute;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&eacute;salloue une couleur - pr&eacute;c&eacute;demment allou&eacute;e avec la fonction - <function>imagecolorallocate</function>. - <informalexample> - <programlisting role="php"> -&lt;?php - $white = imagecolorallocate($im, 255, 255, 255); - imagecolordeallocate($im, $white); -?&gt; - </programlisting> - </informalexample> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorat"> - <refnamediv> - <refname>ImageColorAt</refname> - <refpurpose>Retourne l'index de la couleur d'un pixel donn&eacute;.</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&eacute; - aux coordonn&eacute;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&eacute;cifi&eacute;e par les autres param&egrave;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;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&eacute;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&eacute;e. - </para> - <para> - La "distance" entre la couleur souhait&eacute;e et les couleurs de la palette est calcul&eacute;e - en consid&eacute;rant l'espace RGB comme un espace &agrave; 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&eacute;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&eacute;cifi&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;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&eacute;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 - &agrave; tous les coups. Soit il arrive &agrave; trouver la couleur - demand&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;cessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagegammacorrect"> - <refnamediv> - <refname>ImageGammaCorrect</refname> - <refpurpose> - Applique une correction gamma &agrave; 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 - &agrave; l'image GD <parameter>im</parameter>. Le facteur d'entr&eacute;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 &agrave; l'index donn&eacute;. - </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 &agrave; un index - d'une palette une couleur sp&eacute;cifique. C'est une fonction tr&egrave;s - pratique pour effectuer du remplissage de couleur sans le faire - r&eacute;ellement. - </para> - <para> - Voir aussi - <function>imagecolorat</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecolorsforindex"> - <refnamediv> - <refname>ImageColorsForIndex</refname> - <refpurpose>Retourne la couleur associ&eacute;e &agrave; 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&eacute;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&eacute; - par <function>imagecreate</function> et - <parameter>col</parameter> est un identifiant de couleur - retourn&eacute; par <function>imagecolorallocate</function>. - </para> - <para> - L'identifiant de la nouvelle (ou courante) couleur transparente est - retourn&eacute;. - </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&ccedil;ant aux coordonn&eacute;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&eacute;finie sera copi&eacute;e et plac&eacute;e aux - coordonn&eacute;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&ccedil;ant aux coordonn&eacute;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&eacute;finie sera - copi&eacute;e aux coordonn&eacute;es (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), - dans l'image de destination. Les deux images seront fusionn&eacute;es - suivant le param&egrave;tre <parameter>pct</parameter>, qui peut valoir de - 0 &agrave; 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 &eacute;t&eacute; ajout&eacute;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&ccedil;ant aux coordonn&eacute;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&eacute;finie sera - copi&eacute;e aux coordonn&eacute;es (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), - dans l'image de destination. Les deux images seront fusionn&eacute;es - suivant le param&egrave;tre <parameter>pct</parameter>, qui peut valoir de - 0 &agrave; 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 &agrave; la fonction - <function>imagecopymerge</function>, hormis le fait que lors de la - fusion, le "hue" de l'image sera conserv&eacute; gr&acirc;ce &agrave; la conversion - de la zone dans l'image de destination en gris, avant l'op&eacute;ration - de copie. - </para> - <note> - <para> - <function>imagecopymergegray</function> a &eacute;t&eacute; ajout&eacute;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 &eacute;gales, un - &eacute;tirement ad&eacute;quat est effectu&eacute; pour faire correspondre - les deux. Les coordonn&eacute;es fournies sont d&eacute;finies par rapport - au coin sup&eacute;rieur gauche. Cette fonction peut &ecirc;tre - utilis&eacute;e pour recopier des r&eacute;gions &agrave; l'int&eacute;rieur - d'une m&ecirc;me image, si <parameter>dst_im</parameter> et - <parameter>src_im</parameter> sont identiques : mais si les - r&eacute;gions se chevauchent, le r&eacute;sultat risque d'&ecirc;tre - incoh&eacute;rent. - </para> - <para> - Voir aussi - <function>imagecopyresampled</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagecopyresampled"> - <refnamediv> - <refname>ImageCopyResampled</refname> - <refpurpose>Copie, redimensionne, r&eacute;&eacute;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&eacute;&eacute;chantillonn&eacute;e de mani&egrave;re &agrave; conserver la clart&eacute; - de l'image durant une r&eacute;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&egrave;rent, l'image copi&eacute;e sera &eacute;tir&eacute;e - de mani&egrave;re appropri&eacute;e. - Les coordonn&eacute;es sont celles du coin sup&eacute;rieur gauche. - <function>imagecopyresampled</function> peut servir &agrave; copier - des zones d'une image vers elle-m&ecirc;me, mais si les r&eacute;gions se - chevauchent, les r&eacute;sultats sont impr&eacute;visibles. - </para> - <para> - Voir aussi - <function>imagecopyresized</function>. - </para> - <note> - <para> - <function>imagecopyresampled</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;cessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecreate"> - <refnamediv> - <refname>ImageCreate</refname> - <refpurpose>Cr&eacute;e une nouvelle image &agrave; 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&eacute;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&eacute;e une nouvelle image &agrave; 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&eacute;sente l'image obtenue &agrave; partir du fichier dont le nom est - donn&eacute;. - </para> - <para> - <function>imagecreatefromgif</function> retourne une cha&icirc;ne vide en - cas d'&eacute;chec. Il va aussi retourner une erreur qui va afficher un - lien bris&eacute; dans un navigateur. Pour simplifier le d&eacute;buggage, - utilisez le code suivant, qui retourne une erreur <acronym>GIF</acronym> : - <example> - <title> - Exemple de gestion des erreurs durant la cr&eacute;ation d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -&lt;?php -function loadgif($imgname){ - $im = @imagecreatefromgif($imgname); /* Tentative d'ouverture */ - if ($im == "") { /* &eacute;chec ? */ - $im = ImageCreate(150,30); /* Cr&eacute;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; -} -?&gt; - </programlisting> - </example> - <note> - <para> - Etant donn&eacute; que toutes les fonctions de gestion des - <acronym>GIF</acronym> ont &eacute;t&eacute; supprim&eacute;es de - la biblioth&egrave;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&eacute;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&eacute;sentant une image noire de largeur <parameter>x_size</parameter>, - et de hauteur <parameter>y_size</parameter>. - </para> - <note> - <para> - <function>imagecreatetruecolor</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;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 &agrave; 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 &agrave; palette. - Le code de cette fonction est directement tir&eacute; de la librairie du - "Independent JPEG Group", qui est tout simplement g&eacute;nial. Le code a - &eacute;t&eacute; modifi&eacute; pour pr&eacute;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&eacute;f&eacute;rable - de g&eacute;n&eacute;rer un r&eacute;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 &ecirc;tre dither&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;cessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromjpeg"> - <refnamediv> - <refname>ImageCreateFromJPEG</refname> - <refpurpose> - Cr&eacute;e une nouvelle image <acronym>JPEG</acronym> - &agrave; 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&eacute;sentant une image obtenue &agrave; partir du fichier - <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromjpeg</function> retourne une cha&icirc;ne vide en cas - d'&eacute;chec. Elle affiche aussi un message d'erreur, qui s'affiche comme un - lien bris&eacute; dans un navigateur web. Pour faciliter le d&eacute;buggage, - voici une erreur <acronym>JPEG</acronym>: - <example> - <title> - Exemple de gestion d'erreur lors de la cr&eacute;ation d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -&lt;?php -function loadjpeg($imgname) { - $im = @imagecreatefromjpeg($imgname); /* Tentative d'ouverture */ - if (!$im) { /* V&eacute;rification */ - $im = imagecreate(150, 30); /* Cr&eacute;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; -} -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefrompng"> - <refnamediv> - <refname>ImageCreateFromPNG</refname> - <refpurpose> - Cr&eacute;e une nouvelle image <acronym>PNG</acronym> &agrave; - 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&eacute;sentant une image obtenue &agrave; partir du fichier - <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromjpeg</function> retourne une cha&icirc;ne vide en cas - d'&eacute;chec. Elle affiche aussi un message d'erreur, qui s'affiche comme un - lien bris&eacute; dans un navigateur web. Pour faciliter le d&eacute;buggage, - voici une erreur <acronym>PNG</acronym>: - <example> - <title> - Exemple de gestion d'erreur lors de la cr&eacute;ation d'image - (gracieusement offert par vic@zymsys.com ) - </title> - <programlisting role="php"> -&lt;?php -function LoadPNG($imgname) { - $im = @imagecreatefrompng($imgname); /* Tentative d'ouverture */ - if (!$im) { /* V&eacute;rification */ - $im = imagecreate(150, 30); /* Cr&eacute;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; -} -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.imagecreatefromwbmp"> - <refnamediv> - <refname>ImageCreateFromWBMP</refname> - <refpurpose>Cr&eacute;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&eacute;sentant l'image <parameter>filename</parameter>. - </para> - <para> - <function>imagecreatefromwbmp</function> retourne une cha&icirc;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&eacute;buggage, - l'exemple suivant va produire une erreur <acronym>WBMP</acronym>: - <example> - <title> - Exemple de gestion des erreurs durant la cr&eacute;ation d'une image - WBMP (gracieusement propos&eacute; par vic@zymsys.com) - </title> - <programlisting role="php"> -function loadwbmp($imgname) { - $im = @imagecreatefromwbmp($imgname); /* Tentative d'ouverture */ - if (!$im) { /* V&eacute;rification que cela s'est bien pass&eacute; */ - $im = imagecreate(20, 20); /* Cr&eacute;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&eacute;e une image &agrave; partir d'une cha&icirc;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&eacute;sentant la cha&icirc;ne <parameter>string</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagedashedline"> - <refnamediv> - <refname>ImageDashedLine</refname> - <refpurpose>Dessine une ligne pointill&eacute;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&eacute;e - entre les points (<parameter>x1</parameter>,<parameter>y1</parameter>) - et (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin - sup&eacute;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&eacute;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&egrave;re toute la m&eacute;moire - associ&eacute;e &agrave; l'image <parameter>im</parameter>. - <parameter>im</parameter> est un identifiant d'image valide retourn&eacute; - 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>, - &agrave; partir du point de coordonn&eacute;es (<parameter>x</parameter>, - <parameter>y</parameter>) (le coin sup&eacute;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&ccedil;ant par le sommet sup&eacute;rieur gauche (<parameter>x1</parameter>, - <parameter>y1</parameter>) et finissant au sommet inf&eacute;rieur droit - (<parameter>x2</parameter>, <parameter>y2</parameter>). Le coin sup&eacute;rieur - gauche est l'origine (0, 0). - </para> - </refsect1> - </refentry> - <refentry id="function.imagefilltoborder"> - <refnamediv> - <refname>ImageFillToBorder</refname> - <refpurpose>Remplit avec une r&eacute;gion avec une couleur sp&eacute;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&eacute;gion &agrave; l'int&eacute;rieur de la r&eacute;gion limit&eacute;e par la couleur - <parameter>border</parameter>. Le point de d&eacute;part est - (<parameter>x</parameter>,<parameter>y</parameter>) - (le coin sup&eacute;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&eacute;e un fichier image <acronym>GIF</acronym> avec le nom - <parameter>filename</parameter> d'apr&egrave;s l'image <parameter>im</parameter>. - L'argument <parameter>im</parameter> est un identifiant valide retourn&eacute; par la - fonction <function>imagecreate</function>. - </para> - <para> - Le format de l'image sera GIF87a, &agrave; moins que l'image n'ait une couleur transparente - (mise en place gr&acirc;ce &agrave; 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 &agrave; la sortie standard. En envoyant une en-t&ecirc;te de type - <literal>image/gifcontent-type</literal> , (gr&acirc;ce &agrave; la fonction - <function>header</function>), vous pouvez cr&eacute;er des images avec - des scripts PHP. - <note> - <para> - Etant donn&eacute; que toutes les fonctions <acronym>GIF</acronym> ont &eacute;t&eacute; - supprim&eacute;es de la biblioth&egrave;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'&eacute;crire des scripts PHP plus portables : - le type de GD est automatiquement d&eacute;tect&eacute;. Il remplace la - s&eacute;quence <literal>Header("Content-type: image/gif"); ImageGif($im);</literal> - par un code plus souple : - <informalexample> - <programlisting role="php"> -&lt;?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"); - } -?&gt; - </programlisting> - </informalexample> - </para> - </note> - <note> - <para> - En PHP 4, &agrave; partir de la version 4.0.2, vous pouvez utiliser la fonction - <function>imagetypes</function> &agrave; la place de - <function>function_exists</function> pour v&eacute;rifier que certains - formats d'images sont support&eacute;s : - <informalexample> - <programlisting role="php"> -&lt;?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"); - } -?&gt; - </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"> -&lt;?php - $im = imagecreatefrompng("test.png"); - imagepng($im); -?&gt; - </programlisting> - </informalexample> - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement &agrave; la sortie standard. En envoyant une image de type - <literal>image/png content-type</literal> (gr&acirc;ce &agrave; la fonction - <function>header</function>), vous pouvez cr&eacute;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 &eacute;t&eacute; - cr&eacute;&eacute; par <function>imagecreate</function>. - </para> - <para> - Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise - directement &agrave; la sortie standard. En envoyant une image de type - <literal>image/jpeg content-type</literal> (gr&acirc;ce &agrave; la fonction - <function>header</function>), vous pouvez cr&eacute;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&eacute; - avec GD-1.8 ou plus r&eacute;cent. - </para> - </note> - <para> - <parameter>quality</parameter> est optionnel, et prend des valeurs - enti&egrave;res de 0 (pire qualit&eacute;, petit fichier) et 100 (meilleure qualit&eacute;, - gros fichier). Par d&eacute;faut, la valeur est &agrave; 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&eacute;e l'image <acronym>WBMP</acronym> - dans le fichier <parameter>filename</parameter>, &agrave; partir de l'image - <parameter>im</parameter>. Le param&egrave;tre <parameter>im</parameter> - a &eacute;t&eacute; cr&eacute;&eacute; avec la fonction <function>imagecreate</function>. - </para> - <para> - <parameter>filename</parameter> est optionnel, et s'il est omis, - l'image sera envoy&eacute;e directement au client. En pla&ccedil;ant l'en-t&ecirc;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 &eacute;t&eacute; compil&eacute; - avec GD-1.8 ou plus r&eacute;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&eacute;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&eacute;sactive le bit d'entrelacement. - Si l'entrelacement est &agrave; 1, l'image <parameter>im</parameter> sera - interlac&eacute;e, et sinon, elle ne le sera pas. - </para> - <para> - <function>imageinterlace</function> retourne l'&eacute;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&eacute;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&eacute;rieur &agrave; 5, pour &eacute;viter les - conflits avec les polices standard PHP. - </para> - <para> - Le format des polices d&eacute;pend actuellement du syst&egrave;me - d'exploitation. Ce qui signifie qu'il vous faut g&eacute;n&eacute;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&eacute;es C</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Octets 0-3</entry> - <entry>int</entry> - <entry>Nombre de caract&egrave;res de la police</entry> - </row> - <row> - <entry>Octets 4-7</entry> - <entry>int</entry> - <entry> - Valeur du premier caract&egrave;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&egrave;res</entry> - </row> - <row> - <entry>Octets 12-15</entry> - <entry>int</entry> - <entry>Hauteur en pixels des caract&egrave;res</entry> - </row> - <row> - <entry>Octets 16-</entry> - <entry>char</entry> - <entry> - Tableau avec les donn&eacute;es des caract&egrave;res, un octet par pixel pour chaque - caract&egrave;re, avec un total de (nombre_caract&egrave;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&eacute; 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&eacute; en pixels. - </para> - <para> - <parameter>space</parameter> permet de changer la valeur par - d&eacute;faut du charact&egrave;re espace. Cette valeur est ajout&eacute;e - lors des dessins, et donc, peut &ecirc;tre n&eacute;gative. - </para> - <para> - <parameter>tightness</parameter> permet de contr&ocirc;ler la - quantit&eacute; d'espace entre les caract&egrave;res. Cette quantit&eacute; - est ajout&eacute;e lors des dessins, et peut donc &ecirc;tre n&eacute;gative. - </para> - <para> - <parameter>angle</parameter> est en degr&eacute;s. - </para> - <para> - Les param&egrave;tres <parameter>space</parameter> et - <parameter>tightness</parameter> sont exprim&eacute;s en unit&eacute; - d'espacement de caract&egrave;res, avec 1 unit&eacute; vaut 1/1000 d'un - em carr&eacute; (NDT : kesako?). - </para> - <para> - Les param&egrave;tres <parameter>space</parameter>, - <parameter>tightness</parameter> et <parameter>angle</parameter> sont optionnels. - </para> - <para> - Le rectangle entourant est calcul&eacute; en utilisant les informations - disponibles sur les tailles de caract&egrave;res, et, malheureusement, - il a tendance &agrave; &ecirc;tre l&eacute;g&egrave;rement diff&eacute;rent - du r&eacute;sultat r&eacute;el final. Si l'angle est de 0 degr&eacute;, - vous pouvez-vous attendre &agrave; 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 - &eacute;l&eacute;ments suivants : - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Abscisse inf&eacute;rieure gauche</entry> - </row> - <row> - <entry>1</entry> - <entry>Ordonn&eacute;e inf&eacute;rieure gauche</entry> - </row> - <row> - <entry>2</entry> - <entry>Abscisse sup&eacute;rieure droite</entry> - </row> - <row> - <entry>3</entry> - <entry>Ordonn&eacute;e sup&eacute;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&eacute;e pour modification ult&eacute;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 &ecirc;tre obtenue par <function>imagepsloadfont</function>, et non pas une police - qui a elle-m&ecirc;me &eacute;t&eacute; copi&eacute;e. Vous pouvez aussi faire des modifications avant de - la copier. - </para> - <para> - Si vous utilisez cette fonction, vous <emphasis>DEVEZ</emphasis> lib&eacute;rer les polices - obtenues vous m&ecirc;me, et dans l'ordre inverse. Sinon, votre script sera - <emphasis>suspendu</emphasis>. - </para> - <para> - Si tout a bien &eacute;t&eacute; fait, un index valide de police sera retourn&eacute;, et pourra &ecirc;tre - utilis&eacute; ult&eacute;rieurement. Sinon, la fonction retournera <literal>FALSE</literal>, et affichera un - message d&eacute;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&egrave;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&egrave;re depuis un fichier et change le codage vectoriel de la - police correspondante. Etant donn&eacute; que les polices PostScript ne - disposent pas des caract&egrave;res au-del&agrave; de 127, vous aurez - s&ucirc;rement besoin de les changer si vous utilisez une autre langue que - l'anglais. Le format exact est d&eacute;crit dans la documentation T1libs. - T1lib est disponible en deux formes : IsoLatin1.enc et IsoLatin2.enc. - </para> - <para> - Si vous commencez &agrave; utiliser cette fonction r&eacute;guli&egrave;rement, - une meilleure solution est de d&eacute;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&eacute;faut l'encodage correct. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsfreefont"> - <refnamediv> - <refname>ImagePSFreeFont</refname> - <refpurpose> - Lib&egrave;re la m&eacute;moire occup&eacute;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&ugrave; tout a bien march&eacute;, un index de police - va &ecirc;tre retourn&eacute;, et pourra &ecirc;tre utilis&eacute; - pour des op&eacute;rations ult&eacute;rieures. Sinon, la fonction - retourne <literal>FALSE</literal> et affiche un message d&eacute;crivant - ce qui est erron&eacute;. - </para> - <para> - <programlisting role="php"> -&lt;?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); -?&lt; - </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&egrave;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> &eacute;tend ou condense la police - de caract&egrave;res <parameter>font</parameter>. Si la valeur de - <parameter>extend</parameter> est inf&eacute;rieure &agrave; 1, ce sera une - condensation. - </para> - </refsect1> - </refentry> - <refentry id="function.imagepsslantfont"> - <refnamediv> - <refname>ImagePsSlantFont</refname> - <refpurpose> - Incline une police de caract&egrave;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&egrave;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&eacute; en pixels. - </para> - <para> - <parameter>foreground</parameter> est la couleur dans laquelle le texte va - &ecirc;tre dessin&eacute;. <parameter>background</parameter> est la couleur d'anti aliasing. - Aucun pixel avec la couleur <parameter>background</parameter> n'est dessin&eacute;, ce - qui fait que l'arri&egrave;re-plan n'a pas besoin d'&ecirc;tre dans une couleur fixe. - </para> - <para> - Les coordonn&eacute;es donn&eacute;es (<parameter>x</parameter>, - <parameter>y</parameter>) d&eacute;finissent l'origine du premier - caract&egrave;re (grossi&egrave;rement, le coin inf&eacute;rieur - gauche du caract&egrave;re). Ceci est diff&eacute;rent de la fonction - <function>imagestring</function>, o&ugrave; (x, y) d&eacute;finissait le - coin sup&eacute;rieur gauche du premier caract&egrave;re. Reportez-vous - &agrave; la documentation PostScript pour avoir des d&eacute;tails &agrave; - propos des polices et de leurs tailles. - </para> - <para> - <parameter>space</parameter> permet de changer la taille par d&eacute;faut - du caract&egrave;re d'espacement. Cette valeur peut &ecirc;tre n&eacute;gative. - </para> - <para> - <parameter>tightness</parameter> permet de contr&ocirc;ler la quantit&eacute; - d'espace entre deux caract&egrave;res. Cette valeur peut &ecirc;tre - n&eacute;gative. - </para> - <para> - <parameter>angle</parameter> est en degr&eacute;s. - </para> - <para> - <parameter>antialias_steps</parameter> permet de contr&ocirc;ler le nombre de couleurs - du texte anti-alias&eacute;. Les valeurs autoris&eacute;es sont 4 et 16. 16 est recommand&eacute; pour - les polices de moins de 20 pixels, car l'effet est alors visible. Avec les - tailles plus grandes, utilisez de pr&eacute;f&eacute;rence 4, qui est moins gourmande en - ressources. - </para> - <para> - Les param&egrave;tres <parameter>space</parameter> et <parameter>tightness</parameter> - sont exprim&eacute;s en unit&eacute; d'espaces caract&egrave;re, ce qui vaut 1/1000&egrave;me d'un em-carr&eacute; - ( ? ? ?). - </para> - <para> - Les param&egrave;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 - &eacute;l&eacute;ments suivants : - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Abscisse inf&eacute;rieure gauche</entry> - </row> - <row> - <entry>1</entry> - <entry>Ordonn&eacute;e inf&eacute;rieure gauche</entry> - </row> - <row> - <entry>2</entry> - <entry>Abscisse sup&eacute;rieure droite</entry> - </row> - <row> - <entry>3</entry> - <entry>Ordonn&eacute;e sup&eacute;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&ccedil;ant au point sup&eacute;rieur gauche (<parameter>x1</parameter>, - <parameter>y1</parameter>), et en finissant au point inf&eacute;rieur droit - (<parameter>x2</parameter>,<parameter>y2</parameter>). Le coin sup&eacute;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&eacute;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&eacute;e avec les fonctions - <function>imageline</function> et <function>imagepolygon</function>. - </para> - <note> - <para> - Vous n'avez rien &agrave; faire lorsque vous en avez termin&eacute; avec une brosse, - mais si vous d&eacute;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&eacute;&eacute; une nouvelle brosse. - </para> - </note> - <note> - <para> - <function>imagesetbrush</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagesettile"> - <refnamediv> - <refname>ImageSetTile</refname> - <refpurpose>Modifie l'image utilis&eacute;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>, - &agrave; 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&eacute;e pour remplir une zone, - de mani&egrave;re r&eacute;p&eacute;titive. N'importe quelle image GD peut servir d'image de - remplissage. L'utilisation de la couleur transparente (g&eacute;r&eacute;e avec - la fonction <function>imagecolortransparent</function>) permet &agrave; certaines - zones d'appara&icirc;tre &agrave; travers le carrelage. - </para> - <note> - <para> - Vous n'avez rien &agrave; faire lorsque vous en avez termin&eacute; avec une brosse, - mais si vous d&eacute;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&eacute;&eacute; une nouvelle brosse. - </para> - </note> - <note> - <para> - <function>imagesettile</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagesetthickness"> - <refnamediv> - <refname>ImageSetThickness</refname> - <refpurpose>Modifie l'&eacute;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'&eacute;paisseur - du trait des lignes de l'image <parameter>im</parameter>. Cette - &eacute;paisseur intervient dans les dessins de polygones, ellipses, - cercles, rectangles, etc... <parameter>thickness</parameter> - est en pixels. - </para> - <note> - <para> - <function>imagesetthickness</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 - et n&eacute;cessite GD 2.0.1. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.imagestring"> - <refnamediv> - <refname>ImageString</refname> - <refpurpose>Dessine une cha&icirc;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&icirc;ne sur une ligne - horizontale, dans l'image <parameter>im</parameter>, aux coordonn&eacute;es - (<parameter>x</parameter>,<parameter>y</parameter>) (le coin sup&eacute;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&eacute;faut sera - utilis&eacute;e). - </para> - <para> - Voir aussi <function>imageloadfont</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.imagestringup"> - <refnamediv> - <refname>ImageStringUp</refname> - <refpurpose>Dessine une cha&icirc;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&icirc;ne sur une ligne - verticale dans l'image <parameter>im</parameter> aux coordonn&eacute;es - (<parameter>x</parameter>, <parameter>y</parameter>) (l'origine est le coin - sup&eacute;rieur gauche (0,0)) dans la couleur <parameter>col</parameter>. - Si la police utilis&eacute;e est 1, 2, 3, 4 ou 5, une police par d&eacute;faut - sera utilis&eacute;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&eacute;f&eacute;renc&eacute;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&eacute;f&eacute;renc&eacute;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&eacute; 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>, &eacute;crit avec une police truetype. - <variablelist> - <varlistentry> - <term> - <parameter>text</parameter> - </term> - <listitem> - <simpara> - La cha&icirc;ne &agrave; 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 &ecirc;tre une URL.) - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term> - <parameter>angle</parameter> - </term> - <listitem> - <simpara>Angle en degr&eacute; dans lequel le texte <parameter>text</parameter> - va &ecirc;tre mesur&eacute;. - </simpara> - </listitem> - </varlistentry> - </variablelist> - <function>imagettfbbox</function> retourne une tableau avec 8 - &eacute;l&eacute;ments, repr&eacute;sentant les 4 sommets du rectangle - ainsi d&eacute;fini. - <informaltable> - <tgroup cols="2"> - <tbody> - <row> - <entry>0</entry> - <entry>Coin inf&eacute;rieur gauche, abscisse</entry> - </row> - <row> - <entry>1</entry> - <entry>Coin inf&eacute;rieur gauche, ordonn&eacute;e</entry> - </row> - <row> - <entry>2</entry> - <entry>Coin inf&eacute;rieur droit, abscisse</entry> - </row> - <row> - <entry>3</entry> - <entry>Coin inf&eacute;rieur droit, ordonn&eacute;e</entry> - </row> - <row> - <entry>4</entry> - <entry>Coin sup&eacute;rieur droit, abscisse</entry> - </row> - <row> - <entry>5</entry> - <entry>Coin sup&eacute;rieur droit, ordonn&eacute;e</entry> - </row> - <row> - <entry>6</entry> - <entry>Coin sup&eacute;rieur gauche, abscisse</entry> - </row> - <row> - <entry>7</entry> - <entry>Coin sup&eacute;rieur gauche, ordonn&eacute;e</entry> - </row> - </tbody> - </tgroup> - </informaltable> - Les positions des points sont relatives au texte <emphasis>text</emphasis>, - ind&eacute;pendamment de l'angle : coin sup&eacute;rieur gauche faire - r&eacute;f&eacute;rence au coin sup&eacute;rieur gauche du texte &eacute;crit - horizontalement. - </para> - <para> - <function>imagettfbbox</function> requiert les biblioth&egrave;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&icirc;ne <parameter>text</parameter> - dans l'image <parameter>im</parameter>, en commen&ccedil;ant aux coordonn&eacute;es - (<parameter>x</parameter>,<parameter>y</parameter>) (le coin sup&eacute;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&eacute;e par - <parameter>fontfile</parameter>. - </para> - <para> - Les coordonn&eacute;es (<parameter>x</parameter>,<parameter>y</parameter>) serviront - de r&eacute;f&eacute;rence pour le premier caract&egrave;re (en gros, le coin - inf&eacute;rieur gauche du caract&egrave;re). C'est diff&eacute;rent de - <function>imagestring</function>, qui utilise le coin sup&eacute;rieur droit. - </para> - <para> - <parameter>angle</parameter> est donn&eacute; en degr&eacute;s, avec degr&eacute; - 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'&agrave; la police - TrueType &agrave; utiliser. - </para> - <para> - <parameter>text</parameter> est le texte &agrave; dessiner, incluant - aussi des s&eacute;quences de caract&egrave;res UTF-8 (de la forme: &amp;#123; ) - pour g&eacute;n&eacute;rer des caract&egrave;res au-del&agrave; de 255. - </para> - <para> - <parameter>col</parameter> est l'index de la couleur dans la palette. Utiliser - des index n&eacute;gatifs, revient &agrave; supprimer l'anti-aliasing. - </para> - <para> - <function>imagettftext</function> retourne un tableau de 8 &eacute;l&eacute;ments - repr&eacute;sentant les 4 points marquants les limites du texte. L'ordre - des points est :sup&eacute;rieur gauche, sup&eacute;rieur droit, - inf&eacute;rieur droit, inf&eacute;rieur gauche. Les points sont nomm&eacute;s - relativement au texte &agrave; l'horizontale<function>imagecolorexact</function>. - </para> - <para> - Cet exemple va g&eacute;n&eacute;rer une image <acronym>GIF</acronym> noire - de 400x30 pixels, avec les mots "Test en cours...Om&eacute;ga: &amp;#937;" - en police blanche, type Arial. - <example> - <title>Exemple avec <function>imagettftext</function></title> - <programlisting role="php"> -&lt;?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&eacute;ga: &amp;#937;"); - imagegif($im); - imagedestroy($im); -?&gt; - </programlisting> - </example> - </para> - <para> - <function>imagettftext</function> requiert les biblioth&egrave;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&eacute;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&eacute;s par la version de GD - utilis&eacute;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"> -&lt;?php - if (imagetypes() &amp; IMG_PNG) { - echo "Le type PNG est support&eacute;"; - } -?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.read-exif-data"> - <refnamediv> - <refname>read_exif_data</refname> - <refpurpose>Lit les en-t&ecirc;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&ecirc;tes EXIF de - l'image <acronym>JPEG</acronym> nomm&eacute;e <parameter>filename</parameter>. - Elle retourne un tableau associatif o&ugrave; les index sont les noms - d'en-t&ecirc;tes EXIF, et les valeurs sont leur valeur - associ&eacute;e. Les en-t&ecirc;tes EXIF sont souvent disponibles - dans les images g&eacute;n&eacute;r&eacute;es par les appareils - photos num&eacute;riques, mais chaque constructeur marque ses images d'une - mani&egrave;re qui lui est propre : il est impossible de savoir - quelles en-t&ecirc;tes seront pr&eacute;sents. - <example> - <title>Exemple avec <function>read_exif_data</function></title> - <programlisting role="php"> -&lt;?php - $exif = read_exif_data('p0001807.jpg'); - while(list($k,$v)=each($exif)) { - echo "$k: $v&lt;br&gt;\n"; - } -?&gt; - </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&eacute; 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 &agrave; <ulink url="&url.gd;">&url.gd;</ulink>) vous pourrez aussi cr&eacute;er et manipuler ces images. </simpara> <simpara> Les formats des images que vous pourrez manipuler d&eacute;pendent de la version de GD que vous installerez, et de toute autre librairie dont GD a besoin pour traiter &agrave; ces images. Les versions ant&eacute;rieures &agrave; la version 1.6 supportent le <acronym>GIF</acronym>, mais pas le <acronym>PNG</acronym>. Pour les versions plus r&eacute;centes, c'est le contraire. </simpara> <simpara> Pour acc&eacute;der aux images en <acronym>JPEG</acronym>, vous devez installer la librairie jpeg-6b (disponible &agrave; <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 &agrave; <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&eacute;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&icirc;ne type &quot;height/width&quot;, &agrave; placer dans une balise <acronym>HTML</acronym> ou <sgmltag>IMG</sgmltag> normale. </para> <para> <function>getimagesize</function> retourne un tableau de 4 &eacute;l&eacute;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&icirc;ne &agrave; placer dans les balises <acronym>HTML</acronym> : <literal>"height=xxx width=xxx"</literal>. <example> <title>Exemple avec <function>getimagesize</function></title> <programlisting role="php">&lt;?php $size = getimagesize("img/flag.jpg");?&gt;&lt;IMG SRC="img/flag.jpg"&lt;?php echo $size[3];?&gt;> </programlisting> </example> </para> <para> <example> <title><function>getimagesize</function> avec une URL</title> <programlisting role="php">&lt;?php $size = getimagesize("http://www.php.net/gifs/logo.gif");?&gt; </programlisting> </example> </para> <para> Avec les images <acronym>JPEG</acronym>, deux en-t&ecirc;tes suppl&eacute;mentaires sont retourn&eacute;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&egrave;s &agrave; <parameter>filename</parameter> est impossible, ou si ce n'est pas une image valide, <function>getimagesize</function> retournera <literal>NULL</literal> et g&eacute;n&eacute;rera une alerte. </para> <para> Le param&egrave;tre optionnel <parameter>imageinfo</parameter> permet d'extraire des informations suppl&eacute;mentaires du fichier image. Actuellement, cette option va retourner diff&eacute;rents marqueurs <acronym>JPG</acronym> APP dans un tableau associatif. Certains programmes utilisent ces marqueur APP pour pr&eacute;ciser les informations dans les balises HTML. Un marqueur commun est le marqueur APP13, d&eacute;crit &agrave; <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">&lt;?php $size = getimagesize("testimg.jpg",&amp;$info); if (isset($info["APP13"])) { $iptc = iptcparse($info["APP13"]); var_dump($iptc); }?&gt; </programlisting> </example> <note> <simpara> <function>getimagesize</function> ne requiert pas la biblioth&egrave;que GD. </simpara> </note> <note> <simpara> Le support URL a &eacute;t&eacute; ajout&eacute; en PHP 4.0.5. </simpara> </note> </para> </refsect1> </refentry> <refentry id="function.image2wbmp"> <refnamediv> <refname>image2wbmp</refname> <refpurpose>Cr&eacute;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&eacute;e une image <acronym>WBMP</acronym> &agrave; partir de l'image <parameter>im</parameter>. Si le param&egrave;tre <parameter>filename</parameter> est fourni, l'image sera cr&eacute;&eacute;e dans ce fichier, et sinon, elle sera envoy&eacute;e au navigateur. <parameter>im</parameter> est une image valide, cr&eacute;&eacute;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&eacute;e directement au navigateur. En retournant un ent&ecirc;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&eacute;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 &agrave; chaque fonction de dessin, tel que <function>imagesetpixel</function> peut d&eacute;terminer sa transparence. GD va alors automatiquement mixer la couleur &agrave; ce point, et stocker le r&eacute;sultat dans l'image. Le pixel r&eacute;sultant est alors opaque. En mode non-mixant, la couleur est copi&eacute;e litt&eacute;ralement avec ses informations de canal alpha, et remplace le pixel de destination. Le mixage n'est pas disponible avec les images &agrave; palette. Si <parameter>blendmode</parameter> vaut <literal>TRUE</literal>, alors le mode de mixage sera activ&eacute;, sinon il sera d&eacute;sactiv&eacute;. </para> <note> <para> <function>imagealphablending</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;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&eacute;e sur <parameter>cx</parameter>, <parameter>cy</parameter> (le coin en haut &agrave; gauche est l'origine (0,0)) dans l'image r&eacute;f&eacute;renc&eacute;e par <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> sp&eacute;cifient la largeur et la hauteur de l'ellipse, tandis que le d&eacute;but et la fin de l'arc sont donn&eacute;s en degr&eacute;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&eacute;e sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin sup&eacute;rieur gauche est (0, 0), dans l'image <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> sp&eacute;cifient respectivement la largeur et la hauteur de l'ellipse, tandis que les points de d&eacute;but et de fin sont repr&eacute;sent&eacute;s par <parameter>s</parameter> et <parameter>e</parameter>, en degr&eacute;s. L'argument <parameter>style</parameter> est un champ de bits, combin&eacute; avec l'op&eacute;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&eacute;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 &ecirc;tre dessin&eacute; mais pas rempli. <literal>IMG_ARC_EDGED</literal>, utilis&eacute; conjointement avec <literal>IMG_ARC_NOFILL</literal>, indique que les angles de d&eacute;but et de fin doivent &ecirc;tre connect&eacute;s au centre. Cette fonction est recommand&eacute;e pour faire les graphiques de type camenbert. </para> <note> <para> <function>imagefilledarc</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;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&eacute;e sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin sup&eacute;rieur gauche est aux coordonn&eacute;es (0,0). L'image de dessin est <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> sp&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;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&eacute;e sur le point (<parameter>cx</parameter>, <parameter>cy</parameter>). Le coin sup&eacute;rieur gauche est aux coordonn&eacute;es (0,0). L'image de dessin est <parameter>im</parameter>. <parameter>w</parameter> et <parameter>h</parameter> sp&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;cessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagechar"> <refnamediv> <refname>ImageChar</refname> <refpurpose>Dessine un caract&egrave;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&egrave;re de la cha&icirc;ne <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin sup&eacute;rieur gauche plac&eacute; &agrave; la position <parameter>x</parameter>,<parameter>y</parameter> (le coin en haut &agrave; 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&eacute;gr&eacute;e sera utilis&eacute;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&egrave;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&egrave;re de la cha&icirc;ne <parameter>c</parameter> dans l'image <parameter>id</parameter> avec le coin sup&eacute;rieur gauche plac&eacute; &agrave; la position (<parameter>x</parameter>,<parameter>y</parameter>) (le coin en haut &agrave; 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&eacute;gr&eacute;e sera utilis&eacute;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&eacute;sentant la couleur compos&eacute;e avec les couleurs RGB (<parameter>red</parameter>, <parameter>green</parameter>, <parameter>blue</parameter>). L'argument <parameter>im</parameter> est le r&eacute;sultat de la fonction <function>imagecreate</function>. <function>imagecolorallocate</function> doit &ecirc;tre appel&eacute;e pour cr&eacute;er chaque couleur qui sera repr&eacute;sent&eacute;e par <parameter>im</parameter>. <informalexample> <programlisting role="php">&lt;?php $white = imagecolorallocate($im, 255,255,255); $black = imagecolorallocate($im, 0,0,0);?&gt; </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.imagecolordeallocate"> <refnamediv> <refname>ImageColorDeAllocate</refname> <refpurpose> D&eacute;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&eacute;salloue une couleur pr&eacute;c&eacute;demment allou&eacute;e avec la fonction <function>imagecolorallocate</function>. <informalexample> <programlisting role="php">&lt;?php $white = imagecolorallocate($im, 255, 255, 255); imagecolordeallocate($im, $white);?&gt; </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.imagecolorat"> <refnamediv> <refname>ImageColorAt</refname> <refpurpose>Retourne l'index de la couleur d'un pixel donn&eacute;.</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&eacute; aux coordonn&eacute;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&eacute;cifi&eacute;e par les autres param&egrave;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;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&eacute;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&eacute;e. </para> <para> La "distance" entre la couleur souhait&eacute;e et les couleurs de la palette est calcul&eacute;e en consid&eacute;rant l'espace RGB comme un espace &agrave; 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&eacute;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&eacute;cifi&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;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&eacute;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 &agrave; tous les coups. Soit il arrive &agrave; trouver la couleur demand&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;cessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagegammacorrect"> <refnamediv> <refname>ImageGammaCorrect</refname> <refpurpose> Applique une correction gamma &agrave; 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 &agrave; l'image GD <parameter>im</parameter>. Le facteur d'entr&eacute;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 &agrave; l'index donn&eacute;. </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 &agrave; un index d'une palette une couleur sp&eacute;cifique. C'est une fonction tr&egrave;s pratique pour effectuer du remplissage de couleur sans le faire r&eacute;ellement. </para> <para> Voir aussi <function>imagecolorat</function>. </para> </refsect1> </refentry> <refentry id="function.imagecolorsforindex"> <refnamediv> <refname>ImageColorsForIndex</refname> <refpurpose>Retourne la couleur associ&eacute;e &agrave; 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&eacute;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&eacute; par <function>imagecreate</function> et <parameter>col</parameter> est un identifiant de couleur retourn&eacute; par <function>imagecolorallocate</function>. </para> <para> L'identifiant de la nouvelle (ou courante) couleur transparente est retourn&eacute;. </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&ccedil;ant aux coordonn&eacute;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&eacute;finie sera copi&eacute;e et plac&eacute;e aux coordonn&eacute;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&ccedil;ant aux coordonn&eacute;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&eacute;finie sera copi&eacute;e aux coordonn&eacute;es (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), dans l'image de destination. Les deux images seront fusionn&eacute;es suivant le param&egrave;tre <parameter>pct</parameter>, qui peut valoir de 0 &agrave; 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 &eacute;t&eacute; ajout&eacute;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&ccedil;ant aux coordonn&eacute;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&eacute;finie sera copi&eacute;e aux coordonn&eacute;es (<parameter>dst_x</parameter>, <parameter>dst_y</parameter>), dans l'image de destination. Les deux images seront fusionn&eacute;es suivant le param&egrave;tre <parameter>pct</parameter>, qui peut valoir de 0 &agrave; 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 &agrave; la fonction <function>imagecopymerge</function>, hormis le fait que lors de la fusion, le "hue" de l'image sera conserv&eacute; gr&acirc;ce &agrave; la conversion de la zone dans l'image de destination en gris, avant l'op&eacute;ration de copie. </para> <note> <para> <function>imagecopymergegray</function> a &eacute;t&eacute; ajout&eacute;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 &eacute;gales, un &eacute;tirement ad&eacute;quat est effectu&eacute; pour faire correspondre les deux. Les coordonn&eacute;es fournies sont d&eacute;finies par rapport au coin sup&eacute;rieur gauche. Cette fonction peut &ecirc;tre utilis&eacute;e pour recopier des r&eacute;gions &agrave; l'int&eacute;rieur d'une m&ecirc;me image, si <parameter>dst_im</parameter> et <parameter>src_im</parameter> sont identiques : mais si les r&eacute;gions se chevauchent, le r&eacute;sultat risque d'&ecirc;tre incoh&eacute;rent. </para> <para> Voir aussi <function>imagecopyresampled</function>. </para> </refsect1> </refentry> <refentry id="function.imagecopyresampled"> <refnamediv> <refname>ImageCopyResampled</refname> <refpurpose>Copie, redimensionne, r&eacute;&eacute;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&eacute;&eacute;chantillonn&eacute;e de mani&egrave;re &agrave; conserver la clart&eacute; de l'image durant une r&eacute;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&egrave;rent, l'image copi&eacute;e sera &eacute;tir&eacute;e de mani&egrave;re appropri&eacute;e. Les coordonn&eacute;es sont celles du coin sup&eacute;rieur gauche. <function>imagecopyresampled</function> peut servir &agrave; copier des zones d'une image vers elle-m&ecirc;me, mais si les r&eacute;gions se chevauchent, les r&eacute;sultats sont impr&eacute;visibles. </para> <para> Voir aussi <function>imagecopyresized</function>. </para> <note> <para> <function>imagecopyresampled</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;cessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreate"> <refnamediv> <refname>ImageCreate</refname> <refpurpose>Cr&eacute;e une nouvelle image &agrave; 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&eacute;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&eacute;e une nouvelle image &agrave; 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&eacute;sente l'image obtenue &agrave; partir du fichier dont le nom est donn&eacute;. </para> <para> <function>imagecreatefromgif</function> retourne une cha&icirc;ne vide en cas d'&eacute;chec. Il va aussi retourner une erreur qui va afficher un lien bris&eacute; dans un navigateur. Pour simplifier le d&eacute;buggage, utilisez le code suivant, qui retourne une erreur <acronym>GIF</acronym> : <example> <title> Exemple de gestion des erreurs durant la cr&eacute;ation d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php">&lt;?phpfunction loadgif($imgname){ $im = @imagecreatefromgif($imgname); /* Tentative d'ouverture */ if ($im == "") { /* &eacute;chec ? */ $im = ImageCreate(150,30); /* Cr&eacute;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;}?&gt; </programlisting> </example> <note> <para> Etant donn&eacute; que toutes les fonctions de gestion des <acronym>GIF</acronym> ont &eacute;t&eacute; supprim&eacute;es de la biblioth&egrave;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&eacute;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&eacute;sentant une image noire de largeur <parameter>x_size</parameter>, et de hauteur <parameter>y_size</parameter>. </para> <note> <para> <function>imagecreatetruecolor</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;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 &agrave; 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 &agrave; palette. Le code de cette fonction est directement tir&eacute; de la librairie du "Independent JPEG Group", qui est tout simplement g&eacute;nial. Le code a &eacute;t&eacute; modifi&eacute; pour pr&eacute;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&eacute;f&eacute;rable de g&eacute;n&eacute;rer un r&eacute;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 &ecirc;tre dither&eacute;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 &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;cessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreatefromjpeg"> <refnamediv> <refname>ImageCreateFromJPEG</refname> <refpurpose> Cr&eacute;e une nouvelle image <acronym>JPEG</acronym> &agrave; 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&eacute;sentant une image obtenue &agrave; partir du fichier <parameter>filename</parameter>. </para> <para> <function>imagecreatefromjpeg</function> retourne une cha&icirc;ne vide en cas d'&eacute;chec. Elle affiche aussi un message d'erreur, qui s'affiche comme un lien bris&eacute; dans un navigateur web. Pour faciliter le d&eacute;buggage, voici une erreur <acronym>JPEG</acronym>: <example> <title> Exemple de gestion d'erreur lors de la cr&eacute;ation d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php">&lt;?phpfunction loadjpeg($imgname) { $im = @imagecreatefromjpeg($imgname); /* Tentative d'ouverture */ if (!$im) { /* V&eacute;rification */ $im = imagecreate(150, 30); /* Cr&eacute;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;}?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.imagecreatefrompng"> <refnamediv> <refname>ImageCreateFromPNG</refname> <refpurpose> Cr&eacute;e une nouvelle image <acronym>PNG</acronym> &agrave; 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&eacute;sentant une image obtenue &agrave; partir du fichier <parameter>filename</parameter>. </para> <para> <function>imagecreatefromjpeg</function> retourne une cha&icirc;ne vide en cas d'&eacute;chec. Elle affiche aussi un message d'erreur, qui s'affiche comme un lien bris&eacute; dans un navigateur web. Pour faciliter le d&eacute;buggage, voici une erreur <acronym>PNG</acronym>: <example> <title> Exemple de gestion d'erreur lors de la cr&eacute;ation d'image (gracieusement offert par vic@zymsys.com ) </title> <programlisting role="php">&lt;?phpfunction LoadPNG($imgname) { $im = @imagecreatefrompng($imgname); /* Tentative d'ouverture */ if (!$im) { /* V&eacute;rification */ $im = imagecreate(150, 30); /* Cr&eacute;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;}?&gt; </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.imagecreatefromwbmp"> <refnamediv> <refname>ImageCreateFromWBMP</refname> <refpurpose>Cr&eacute;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&eacute;sentant l'image <parameter>filename</parameter>. </para> <para> <function>imagecreatefromwbmp</function> retourne une cha&icirc;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&eacute;buggage, l'exemple suivant va produire une erreur <acronym>WBMP</acronym>: <example> <title> Exemple de gestion des erreurs durant la cr&eacute;ation d'une image WBMP (gracieusement propos&eacute; par vic@zymsys.com) </title> <programlisting role="php">function loadwbmp($imgname) { $im = @imagecreatefromwbmp($imgname); /* Tentative d'ouverture */ if (!$im) { /* V&eacute;rification que cela s'est bien pass&eacute; */ $im = imagecreate(20, 20); /* Cr&eacute;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&eacute;cent. </para> </note> </refsect1> </refentry> <refentry id="function.imagecreatefromstring"> <refnamediv> <refname>ImageCreateFromString</refname> <refpurpose>Cr&eacute;e une image &agrave; partir d'une cha&icirc;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&eacute;sentant la cha&icirc;ne <parameter>string</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromxbm"> <refnamediv> <refname>ImageCreateFromXBM</refname> <refpurpose>Cr&eacute;e une image &agrave; 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&eacute;sentant l'image obtenue &agrave; partir du fichier <parameter>filename</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagecreatefromxpm"> <refnamediv> <refname>ImageCreateFromXPM</refname> <refpurpose>Cr&eacute;e une image &agrave; 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&eacute;sentant l'image obtenue &agrave; partir du fichier <parameter>filename</parameter>. </para> </refsect1> </refentry> <refentry id="function.imagedashedline"> <refnamediv> <refname>ImageDashedLine</refname> <refpurpose>Dessine une ligne pointill&eacute;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&eacute;e entre les points (<parameter>x1</parameter>,<parameter>y1</parameter>) et (<parameter>x2</parameter>,<parameter>y2</parameter>) (le coin sup&eacute;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&eacute;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&egrave;re toute la m&eacute;moire associ&eacute;e &agrave; l'image <parameter>im</parameter>. <parameter>im</parameter> est un identifiant d'image valide retourn&eacute; 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>, &agrave; partir du point de coordonn&eacute;es (<parameter>x</parameter>, <parameter>y</parameter>) (le coin sup&eacute;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&ccedil;ant par le sommet sup&eacute;rieur gauche (<parameter>x1</parameter>, <parameter>y1</parameter>) et finissant au sommet inf&eacute;rieur droit (<parameter>x2</parameter>, <parameter>y2</parameter>). Le coin sup&eacute;rieur gauche est l'origine (0, 0). </para> </refsect1> </refentry> <refentry id="function.imagefilltoborder"> <refnamediv> <refname>ImageFillToBorder</refname> <refpurpose>Remplit avec une r&eacute;gion avec une couleur sp&eacute;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&eacute;gion &agrave; l'int&eacute;rieur de la r&eacute;gion limit&eacute;e par la couleur <parameter>border</parameter>. Le point de d&eacute;part est (<parameter>x</parameter>,<parameter>y</parameter>) (le coin sup&eacute;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&eacute;e un fichier image <acronym>GIF</acronym> avec le nom <parameter>filename</parameter> d'apr&egrave;s l'image <parameter>im</parameter>. L'argument <parameter>im</parameter> est un identifiant valide retourn&eacute; par la fonction <function>imagecreate</function>. </para> <para> Le format de l'image sera GIF87a, &agrave; moins que l'image n'ait une couleur transparente (mise en place gr&acirc;ce &agrave; 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 &agrave; la sortie standard. En envoyant une en-t&ecirc;te de type <literal>image/gifcontent-type</literal> , (gr&acirc;ce &agrave; la fonction <function>header</function>), vous pouvez cr&eacute;er des images avec des scripts PHP. <note> <para> Etant donn&eacute; que toutes les fonctions <acronym>GIF</acronym> ont &eacute;t&eacute; supprim&eacute;es de la biblioth&egrave;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'&eacute;crire des scripts PHP plus portables : le type de GD est automatiquement d&eacute;tect&eacute;. Il remplace la s&eacute;quence <literal>Header("Content-type: image/gif"); ImageGif($im);</literal> par un code plus souple : <informalexample> <programlisting role="php">&lt;?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"); }?&gt; </programlisting> </informalexample> </para> </note> <note> <para> En PHP 4, &agrave; partir de la version 4.0.2, vous pouvez utiliser la fonction <function>imagetypes</function> &agrave; la place de <function>function_exists</function> pour v&eacute;rifier que certains formats d'images sont support&eacute;s : <informalexample> <programlisting role="php">&lt;?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"); }?&gt; </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">&lt;?php $im = imagecreatefrompng("test.png"); imagepng($im);?&gt; </programlisting> </informalexample> </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement &agrave; la sortie standard. En envoyant une image de type <literal>image/png content-type</literal> (gr&acirc;ce &agrave; la fonction <function>header</function>), vous pouvez cr&eacute;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 &eacute;t&eacute; cr&eacute;&eacute; par <function>imagecreate</function>. </para> <para> Le nom du fichier est optionnel, et dans ce cas, l'image sera transmise directement &agrave; la sortie standard. En envoyant une image de type <literal>image/jpeg content-type</literal> (gr&acirc;ce &agrave; la fonction <function>header</function>), vous pouvez cr&eacute;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&eacute; avec GD-1.8 ou plus r&eacute;cent. </para> </note> <para> <parameter>quality</parameter> est optionnel, et prend des valeurs enti&egrave;res de 0 (pire qualit&eacute;, petit fichier) et 100 (meilleure qualit&eacute;, gros fichier). Par d&eacute;faut, la valeur est &agrave; 100. </para> <para> Si vous voulez g&eacute;n&eacute;rer des images JPEG progressive, vous devez choisir l'entrelacement &agrave; 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&eacute;e l'image <acronym>WBMP</acronym> dans le fichier <parameter>filename</parameter>, &agrave; partir de l'image <parameter>im</parameter>. Le param&egrave;tre <parameter>im</parameter> a &eacute;t&eacute; cr&eacute;&eacute; avec la fonction <function>imagecreate</function>. </para> <para> <parameter>filename</parameter> est optionnel, et s'il est omis, l'image sera envoy&eacute;e directement au client. En pla&ccedil;ant l'en-t&ecirc;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 &eacute;t&eacute; compil&eacute; avec GD-1.8 ou plus r&eacute;cent. </para> </note> </para> <para> En passant le param&egrave;tre optionnel <parameter>foreground</parameter>, vous pouvez choisir la couleur de fond. Utilisez l'identifiant retourn&eacute; par <function>imagecolorallocate</function> comme valeur de ce param&egrave;tre. La couleur de fond par d&eacute;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&eacute;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&eacute;sactive le bit d'entrelacement. </para> <para> Si l'entrelacement est &agrave; 1, l'image <parameter>im</parameter> sera interlac&eacute;e, et sinon, elle ne le sera pas. Si le format d'affichage de l'image est <acronym>JPEG</acronym>, l'image cr&eacute;&eacute;e sera un JPEG progressif. </para> <para> <function>imageinterlace</function> retourne l'&eacute;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&eacute;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&eacute;rieur &agrave; 5, pour &eacute;viter les conflits avec les polices standard PHP. </para> <para> Le format des polices d&eacute;pend actuellement du syst&egrave;me d'exploitation. Ce qui signifie qu'il vous faut g&eacute;n&eacute;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&eacute;es C</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry>Octets 0-3</entry> <entry>int</entry> <entry>Nombre de caract&egrave;res de la police</entry> </row> <row> <entry>Octets 4-7</entry> <entry>int</entry> <entry> Valeur du premier caract&egrave;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&egrave;res</entry> </row> <row> <entry>Octets 12-15</entry> <entry>int</entry> <entry>Hauteur en pixels des caract&egrave;res</entry> </row> <row> <entry>Octets 16-</entry> <entry>char</entry> <entry> Tableau avec les donn&eacute;es des caract&egrave;res, un octet par pixel pour chaque caract&egrave;re, avec un total de (nombre_caract&egrave;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 &agrave; 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&eacute; 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&eacute; en pixels. </para> <para> <parameter>space</parameter> permet de changer la valeur par d&eacute;faut du charact&egrave;re espace. Cette valeur est ajout&eacute;e lors des dessins, et donc, peut &ecirc;tre n&eacute;gative. </para> <para> <parameter>tightness</parameter> permet de contr&ocirc;ler la quantit&eacute; d'espace entre les caract&egrave;res. Cette quantit&eacute; est ajout&eacute;e lors des dessins, et peut donc &ecirc;tre n&eacute;gative. </para> <para> <parameter>angle</parameter> est en degr&eacute;s. </para> <para> Les param&egrave;tres <parameter>space</parameter> et <parameter>tightness</parameter> sont exprim&eacute;s en unit&eacute; d'espacement de caract&egrave;res, avec 1 unit&eacute; vaut 1/1000 d'un em carr&eacute; (NDT : kesako?). </para> <para> Les param&egrave;tres <parameter>space</parameter>, <parameter>tightness</parameter> et <parameter>angle</parameter> sont optionnels. </para> <para> Le rectangle entourant est calcul&eacute; en utilisant les informations disponibles sur les tailles de caract&egrave;res, et, malheureusement, il a tendance &agrave; &ecirc;tre l&eacute;g&egrave;rement diff&eacute;rent du r&eacute;sultat r&eacute;el final. Si l'angle est de 0 degr&eacute;, vous pouvez-vous attendre &agrave; 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 &eacute;l&eacute;ments suivants : <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Abscisse inf&eacute;rieure gauche</entry> </row> <row> <entry>1</entry> <entry>Ordonn&eacute;e inf&eacute;rieure gauche</entry> </row> <row> <entry>2</entry> <entry>Abscisse sup&eacute;rieure droite</entry> </row> <row> <entry>3</entry> <entry>Ordonn&eacute;e sup&eacute;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&eacute;e pour modification ult&eacute;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 &ecirc;tre obtenue par <function>imagepsloadfont</function>, et non pas une police qui a elle-m&ecirc;me &eacute;t&eacute; copi&eacute;e. Vous pouvez aussi faire des modifications avant de la copier. </para> <para> Si vous utilisez cette fonction, vous <emphasis>DEVEZ</emphasis> lib&eacute;rer les polices obtenues vous m&ecirc;me, et dans l'ordre inverse. Sinon, votre script sera <emphasis>suspendu</emphasis>. </para> <para> Si tout a bien &eacute;t&eacute; fait, un index valide de police sera retourn&eacute;, et pourra &ecirc;tre utilis&eacute; ult&eacute;rieurement. Sinon, la fonction retournera <literal>FALSE</literal>, et affichera un message d&eacute;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&egrave;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&egrave;re depuis un fichier et change le codage vectoriel de la police correspondante. Etant donn&eacute; que les polices PostScript ne disposent pas des caract&egrave;res au-del&agrave; de 127, vous aurez s&ucirc;rement besoin de les changer si vous utilisez une autre langue que l'anglais. Le format exact est d&eacute;crit dans la documentation T1libs. T1lib est disponible en deux formes : IsoLatin1.enc et IsoLatin2.enc. </para> <para> Si vous commencez &agrave; utiliser cette fonction r&eacute;guli&egrave;rement, une meilleure solution est de d&eacute;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&eacute;faut l'encodage correct. </para> </refsect1> </refentry> <refentry id="function.imagepsfreefont"> <refnamediv> <refname>ImagePSFreeFont</refname> <refpurpose> Lib&egrave;re la m&eacute;moire occup&eacute;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&ugrave; tout a bien march&eacute;, un index de police va &ecirc;tre retourn&eacute;, et pourra &ecirc;tre utilis&eacute; pour des op&eacute;rations ult&eacute;rieures. Sinon, la fonction retourne <literal>FALSE</literal> et affiche un message d&eacute;crivant ce qui est erron&eacute;. </para> <para> <programlisting role="php">&lt;?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);?&lt; </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&egrave;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> &eacute;tend ou condense la police de caract&egrave;res <parameter>font</parameter>. Si la valeur de <parameter>extend</parameter> est inf&eacute;rieure &agrave; 1, ce sera une condensation. </para> </refsect1> </refentry> <refentry id="function.imagepsslantfont"> <refnamediv> <refname>ImagePsSlantFont</refname> <refpurpose> Incline une police de caract&egrave;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&egrave;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&eacute; en pixels. </para> <para> <parameter>foreground</parameter> est la couleur dans laquelle le texte va &ecirc;tre dessin&eacute;. <parameter>background</parameter> est la couleur d'anti aliasing. Aucun pixel avec la couleur <parameter>background</parameter> n'est dessin&eacute;, ce qui fait que l'arri&egrave;re-plan n'a pas besoin d'&ecirc;tre dans une couleur fixe. </para> <para> Les coordonn&eacute;es donn&eacute;es (<parameter>x</parameter>, <parameter>y</parameter>) d&eacute;finissent l'origine du premier caract&egrave;re (grossi&egrave;rement, le coin inf&eacute;rieur gauche du caract&egrave;re). Ceci est diff&eacute;rent de la fonction <function>imagestring</function>, o&ugrave; (x, y) d&eacute;finissait le coin sup&eacute;rieur gauche du premier caract&egrave;re. Reportez-vous &agrave; la documentation PostScript pour avoir des d&eacute;tails &agrave; propos des polices et de leurs tailles. </para> <para> <parameter>space</parameter> permet de changer la taille par d&eacute;faut du caract&egrave;re d'espacement. Cette valeur peut &ecirc;tre n&eacute;gative. </para> <para> <parameter>tightness</parameter> permet de contr&ocirc;ler la quantit&eacute; d'espace entre deux caract&egrave;res. Cette valeur peut &ecirc;tre n&eacute;gative. </para> <para> <parameter>angle</parameter> est en degr&eacute;s. </para> <para> <parameter>antialias_steps</parameter> permet de contr&ocirc;ler le nombre de couleurs du texte anti-alias&eacute;. Les valeurs autoris&eacute;es sont 4 et 16. 16 est recommand&eacute; pour les polices de moins de 20 pixels, car l'effet est alors visible. Avec les tailles plus grandes, utilisez de pr&eacute;f&eacute;rence 4, qui est moins gourmande en ressources. </para> <para> Les param&egrave;tres <parameter>space</parameter> et <parameter>tightness</parameter> sont exprim&eacute;s en unit&eacute; d'espaces caract&egrave;re, ce qui vaut 1/1000&egrave;me d'un em-carr&eacute; ( ? ? ?). </para> <para> Les param&egrave;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 &eacute;l&eacute;ments suivants : <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Abscisse inf&eacute;rieure gauche</entry> </row> <row> <entry>1</entry> <entry>Ordonn&eacute;e inf&eacute;rieure gauche</entry> </row> <row> <entry>2</entry> <entry>Abscisse sup&eacute;rieure droite</entry> </row> <row> <entry>3</entry> <entry>Ordonn&eacute;e sup&eacute;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&ccedil;ant au point sup&eacute;rieur gauche (<parameter>x1</parameter>, <parameter>y1</parameter>), et en finissant au point inf&eacute;rieur droit (<parameter>x2</parameter>,<parameter>y2</parameter>). Le coin sup&eacute;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&eacute;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&eacute;e avec les fonctions <function>imageline</function> et <function>imagepolygon</function>. </para> <note> <para> Vous n'avez rien &agrave; faire lorsque vous en avez termin&eacute; avec une brosse, mais si vous d&eacute;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&eacute;&eacute; une nouvelle brosse. </para> </note> <note> <para> <function>imagesetbrush</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagesettile"> <refnamediv> <refname>ImageSetTile</refname> <refpurpose>Modifie l'image utilis&eacute;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>, &agrave; 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&eacute;e pour remplir une zone, de mani&egrave;re r&eacute;p&eacute;titive. N'importe quelle image GD peut servir d'image de remplissage. L'utilisation de la couleur transparente (g&eacute;r&eacute;e avec la fonction <function>imagecolortransparent</function>) permet &agrave; certaines zones d'appara&icirc;tre &agrave; travers le carrelage. </para> <note> <para> Vous n'avez rien &agrave; faire lorsque vous en avez termin&eacute; avec une brosse, mais si vous d&eacute;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&eacute;&eacute; une nouvelle brosse. </para> </note> <note> <para> <function>imagesettile</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6. </para> </note> </refsect1> </refentry> <refentry id="function.imagesetthickness"> <refnamediv> <refname>ImageSetThickness</refname> <refpurpose>Modifie l'&eacute;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'&eacute;paisseur du trait des lignes de l'image <parameter>im</parameter>. Cette &eacute;paisseur intervient dans les dessins de polygones, ellipses, cercles, rectangles, etc... <parameter>thickness</parameter> est en pixels. </para> <note> <para> <function>imagesetthickness</function> a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.6 et n&eacute;cessite GD 2.0.1. </para> </note> </refsect1> </refentry> <refentry id="function.imagestring"> <refnamediv> <refname>ImageString</refname> <refpurpose>Dessine une cha&icirc;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&icirc;ne sur une ligne horizontale, dans l'image <parameter>im</parameter>, aux coordonn&eacute;es (<parameter>x</parameter>,<parameter>y</parameter>) (le coin sup&eacute;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&eacute;faut sera utilis&eacute;e). </para> <para> Voir aussi <function>imageloadfont</function>. </para> </refsect1> </refentry> <refentry id="function.imagestringup"> <refnamediv> <refname>ImageStringUp</refname> <refpurpose>Dessine une cha&icirc;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&icirc;ne sur une ligne verticale dans l'image <parameter>im</parameter> aux coordonn&eacute;es (<parameter>x</parameter>, <parameter>y</parameter>) (l'origine est le coin sup&eacute;rieur gauche (0,0)) dans la couleur <parameter>col</parameter>. Si la police utilis&eacute;e est 1, 2, 3, 4 ou 5, une police par d&eacute;faut sera utilis&eacute;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&eacute;f&eacute;renc&eacute;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&eacute;f&eacute;renc&eacute;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&eacute; 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>, &eacute;crit avec une police truetype. <variablelist> <varlistentry> <term> <parameter>text</parameter> </term> <listitem> <simpara> La cha&icirc;ne &agrave; 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 &ecirc;tre une URL.) </simpara> </listitem> </varlistentry> <varlistentry> <term> <parameter>angle</parameter> </term> <listitem> <simpara>Angle en degr&eacute; dans lequel le texte <parameter>text</parameter> va &ecirc;tre mesur&eacute;. </simpara> </listitem> </varlistentry> </variablelist> <function>imagettfbbox</function> retourne une tableau avec 8 &eacute;l&eacute;ments, repr&eacute;sentant les 4 sommets du rectangle ainsi d&eacute;fini. <informaltable> <tgroup cols="2"> <tbody> <row> <entry>0</entry> <entry>Coin inf&eacute;rieur gauche, abscisse</entry> </row> <row> <entry>1</entry> <entry>Coin inf&eacute;rieur gauche, ordonn&eacute;e</entry> </row> <row> <entry>2</entry> <entry>Coin inf&eacute;rieur droit, abscisse</entry> </row> <row> <entry>3</entry> <entry>Coin inf&eacute;rieur droit, ordonn&eacute;e</entry> </row> <row> <entry>4</entry> <entry>Coin sup&eacute;rieur droit, abscisse</entry> </row> <row> <entry>5</entry> <entry>Coin sup&eacute;rieur droit, ordonn&eacute;e</entry> </row> <row> <entry>6</entry> <entry>Coin sup&eacute;rieur gauche, abscisse</entry> </row> <row> <entry>7</entry> <entry>Coin sup&eacute;rieur gauche, ordonn&eacute;e</entry> </row> </tbody> </tgroup> </informaltable> Les positions des points sont relatives au texte <emphasis>text</emphasis>, ind&eacute;pendamment de l'angle : coin sup&eacute;rieur gauche faire r&eacute;f&eacute;rence au coin sup&eacute;rieur gauche du texte &eacute;crit horizontalement. </para> <para> <function>imagettfbbox</function> requiert les biblioth&egrave;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&icirc;ne <parameter>text</parameter> dans l'image <parameter>im</parameter>, en commen&ccedil;ant aux coordonn&eacute;es (<parameter>x</parameter>,<parameter>y</parameter>) (le coin sup&eacute;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&eacute;e par <parameter>fontfile</parameter>. </para> <para> Les coordonn&eacute;es (<parameter>x</parameter>,<parameter>y</parameter>) serviront de r&eacute;f&eacute;rence pour le premier caract&egrave;re (en gros, le coin inf&eacute;rieur gauche du caract&egrave;re). C'est diff&eacute;rent de <function>imagestring</function>, qui utilise le coin sup&eacute;rieur droit. </para> <para> <parameter>angle</parameter> est donn&eacute; en degr&eacute;s, avec degr&eacute; 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'&agrave; la police TrueType &agrave; utiliser. </para> <para> <parameter>text</parameter> est le texte &agrave; dessiner, incluant aussi des s&eacute;quences de caract&egrave;res UTF-8 (de la forme: &amp;#123; ) pour g&eacute;n&eacute;rer des caract&egrave;res au-del&agrave; de 255. </para> <para> <parameter>col</parameter> est l'index de la couleur dans la palette. Utiliser des index n&eacute;gatifs, revient &agrave; supprimer l'anti-aliasing. </para> <para> <function>imagettftext</function> retourne un tableau de 8 &eacute;l&eacute;ments repr&eacute;sentant les 4 points marquants les limites du texte. L'ordre des points est :sup&eacute;rieur gauche, sup&eacute;rieur droit, inf&eacute;rieur droit, inf&eacute;rieur gauche. Les points sont nomm&eacute;s relativement au texte &agrave; l'horizontale<function>imagecolorexact</function>. </para> <para> Cet exemple va g&eacute;n&eacute;rer une image <acronym>GIF</acronym> noire de 400x30 pixels, avec les mots "Test en cours...Om&eacute;ga: &amp;#937;" en police blanche, type Arial. <example> <title>Exemple avec <function>imagettftext</function></title> <programlisting role="php">&lt;?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&eacute;ga: &amp;#937;"); imagegif($im); imagedestroy($im);?&gt; </programlisting> </example> </para> <para> <function>imagettftext</function> requiert les biblioth&egrave;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&eacute;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&eacute;s par la version de GD utilis&eacute;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">&lt;?php if (imagetypes() &amp; IMG_PNG) { echo "Le type PNG est support&eacute;"; }?&gt; </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&egrave;tres <parameter>d_height</parameter> et <parameter>d_width</parameter> vous permettent de sp&eacute;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 &eacute;t&eacute; compil&eacute; avec GD-1.8 ou plus r&eacute;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&egrave;tres <parameter>d_height</parameter> et <parameter>d_width</parameter> vous permettent de sp&eacute;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 &eacute;t&eacute; compil&eacute; avec GD-1.8 ou plus r&eacute;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&ecirc;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&ecirc;tes EXIF de l'image <acronym>JPEG</acronym> nomm&eacute;e <parameter>filename</parameter>. Elle retourne un tableau associatif o&ugrave; les index sont les noms d'en-t&ecirc;tes EXIF, et les valeurs sont leur valeur associ&eacute;e. Les en-t&ecirc;tes EXIF sont souvent disponibles dans les images g&eacute;n&eacute;r&eacute;es par les appareils photos num&eacute;riques, mais chaque constructeur marque ses images d'une mani&egrave;re qui lui est propre : il est impossible de savoir quelles en-t&ecirc;tes seront pr&eacute;sents. <example> <title>Exemple avec <function>read_exif_data</function></title> <programlisting role="php">&lt;?php $exif = read_exif_data('p0001807.jpg'); while(list($k,$v)=each($exif)) { echo "$k: $v&lt;br&gt;\n"; }?&gt; </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&eacute; 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
« previous php.doc (#969338748) next »