• Aucun résultat trouvé

dbase_numrecords

Dans le document Td corrigé Documentation PHP - Free pdf (Page 90-97)

dbase_numrecords

dbase_numrecords -- find out how many records are in a dBase database

Description

int dbase_numrecords(int dbase_identifier);

Returns the number of records (rows) in the specified database. Record numbers are between 1 and dbase_numrecords($db), while field numbers are between 0 and dbase_numfields($db)-1.

XI. Fonctions dbm

Ces fonctions vous permettent d'écrire des lignes dans une base de donnée de type dbm. Ce type de base (supporté par Berkeley db, gdbm, et quelques librairies systèmes, ou certaines librairies du système d'exploitation) enregistre les paires clés/valeurs, (contrairement aux enregistrements par ligne, utilisé par les autres bases de données relationnelles).

Exemple 1. dbm

$dbm = dbmopen("dernier", "w");

if (dbmexists($dbm, $userid)) {

$last_seen = dbmfetch($dbm, $userid);

} else {

dbminsert($dbm, $userid, time());

}

do_stuff();

dbmreplace($dbm, $userid, time());

dbmclose($dbm);

dbmopen

dbmopen -- Ouvre une base de données dbm

Description

int dbmopen(string filename, string flags);

Le premier argument est le chemin absolu jusqu'au fichier dbm à ouvrir. Le deuxième argument est le mode d'ouverture du fichier, qui peut prendre les valeurs suivantes : "r", "n", "c" ou "w" qui représentent respectivement lecture seule, nouveau (ce qui implique lecture/écriture, et qui, probablement, va écraser une base existante), création(ce qui implique lecture/écriture, et qui, probablement, va écraser une base existante), et lecture/écriture.

Retourne un identifiant, qui sera passé à toutes les autres fonctions dbm, en cas de succès, ou false en cas d'echec.

Si ndbm est utilisé, ndbm va créer les fichiers filename.dir et filename.pag. gdbm n'utilise qu'un fichier, tout comme les librairie internes, et Berkeley db crée le fichier filename.db. Notez que PHP dispose de son propre système de verrouillage des fichiers, qui s'additionne à celui éventuellement fait par les librairies. PHP n'efface jamais les fichiers .lck qu'il crée. Il les utilise comme inode fixe, sur lequel faire le verrouillage . Pour plus d'informations sur les fichiers dbm, reportez vous à vos pages de manuel Unix (man) , ou bien chargez gdbm : ftp://prep.ai.mit.edu/pub/gnu.

dbmclose

dbmclose -- Ferme une base de données dbm

Description

bool dbmclose(int dbm_identifier);

Déverrouille et ferme la base de données dbm_identifier.

dbmexists

dbmexists -- Indique si une valeur existe, pour une clé donnée, dans une base de données dbm

Description

bool dbmexists(int dbm_identifier, string key);

Retourne true si il y a une valeur associé à la clé key.

dbmfetch

dbmfetch -- Lit une valeur pour une clé donnée, dans une base dbm

Description

string dbmfetch(int dbm_identifier, string key);

Retourne la valeur associé à la clé key.

dbminsert

dbminsert -- Insère une valeur pour une clé donnée, dans une base dbm

Description

int dbminsert(int dbm_identifier, string key, string value);

Ajoute une valeur dans la base de données, avec la clé spécifiée.

Retourne -1 si la base a été ouverte en mode lecture seule ;, 0 si l'insertion a été réussie, et 1 si la clé key existe déjà. (Pour remplacer la valeur, utilisez dbmreplace().)

dbmreplace

dbmreplace -- Remplace une valeur pour une clé donnée, dans une base dbm

Description

bool dbmreplace(int dbm_identifier, string key, string value);

Remplace une valeur courante par la valeur value pour la clé key, dans une base dbm.

Cette fonction va crée la clé, si elle n'existe pas dans la base.

dbmdelete

dbmdelete -- Efface une valeur pour une clé donnée, dans une base dbm

Description

bool dbmdelete(int dbm_identifier, string key);

Efface la valeur de la clé key, dans la base dbm dbm_identifier.

Retourne false si la clé n'existe pas dans cette base.

dbmfirstkey

dbmfirstkey -- Lit la première clé d'une base de données dbm

Description

string dbmfirstkey(int dbm_identifier);

Retourne la première clé de la base de données. Notez bien que les clés ne sont pas dans un ordre défini, étant donné que la table est construite comme une table de hash.

dbmnextkey

dbmnextkey -- Lit la clé suivante, dans une base de données dbm

Description

string dbmnextkey(int dbm_identifier, string key);

Retourne la clé après la clé key. En appelant dbmfirstkey(), puis successivement dbmnextkey(), il est possible de passer en revue toute les paries clé/valeur de la base de données dbm. Par exemple :

Exemple 1. Passer en revue une base de données.

$key = dbmfirstkey($dbm_id);

while ($key) {

echo "$key = " . dbmfetch($dbm_id, $key) . "\n";

$key = dbmnextkey($dbm_id, $key);

}

dblist

dblist -- describes the dbm-compatible library being used

Description

string dblist(void);

XII. Fonctions sur les dossiers chdir

chdir Ò Chande de dossier

Description

int chdir(string directory);

Change le dossier courant de PHP en directory. Retourne faux (FALSE ) si lÌopération échoue, et vrai (TRUE ) sinon

dir

dir Ò Classe dossier

Description

new dir(string directory);

Un mécanisme pseudo-objet qui permet la lecture dÌun dossier. LÌargument directory doit être ouvert. Deux propriétés sont disponibles une fois le dossier ouvert :le pointeur peut être utilisé avec dÌautres fonctions telles que readdir(), rewinddir() et closedir(). Le chemin du dossier est le chemin fourni lors de la construction de lÌobjet. Trois méthodes permettent de lire, remettre à zéro et fermer le dossier.

Exemple 1. Exemple Dir()

$d = dir("/etc");

echo "Pointeur: ".$d->handle."<br>\n";

echo "Chemin: ".$d->path."<br>\n";

while($entry=$d->read()) { echo $entry."<br>\n";

}

$d->close();

closedir

closedir -- Ferme le pointeur sur le dossier

Description

void closedir(int dir_handle);

Ferme le pointeur de dossier dir_handle. Le dossier devait avoir été ouvert avec opendir().

opendir

opendir -- Ouvre un dossier, et récupère un pointeur dessus

Description

int opendir(string path);

Retourne un pointeur sur un dossier pour être utilisé avec les fonctions closedir(), readdir(),et rewinddir().

readdir

readdir -- Lit une entrée du dossier

Description

string readdir(int dir_handle);

Retourne le nom du fichier suivant dans le dossier identifié par dir_handle. Les noms sont retournés dans nÌimporte quel ordre.

Exemple 1. Liste de tous les fichiers du dossier courant

<?php

$handle=opendir('.');

echo "Directory handle: $handle\n";

echo "Fichiers:\n";

while ($file = readdir($handle)) { echo "$file\n"; }

closedir($handle);

?>

rewinddir

rewinddir -- Retourne à la première entrée du dossier

Description

void rewinddir(int dir_handle);

Retourne à la première entrée du dossier : le prochain fichier lu sera le premier.

XIII. Chargement dynamique de fonctions

dl

dl -- charge une extension PHP à la volée

Description

int dl(string library);

charge líextension PHP définie dans la bibliothèque library. Voir aussi la directive de configuration extension_dir.

XIV. Fonction d'exécution de programmes

escapeshellcmd

escapeshellcmd -- Echappe les méta caractères shell

Description

string escapeshellcmd(string command);

EscapeShellCmd() échappe tous les caractères díune chaîne qui pourrait avoir une signification spéciale dans une commande shell.

Cette fonction permet de síassurer que la commande sera correctement passée à líexécuteur de commande shell exec() ou system(). Généralement, cette fonction est utilisée comme:

system(EscapeShellCmd($cmd))

exec

exec -- Exécute un programme externe

Description

string exec(string command, string [array], int [return_var]);

exec() éxecute la commande command, mais ne renvoie rien comme retour, hormis la dernière ligne du résultat de la commande.

Pour exécuter une commande et obtenir le résultat sans aucun traitement, il faut utiliser la fonction PassThru().

Si líargument array est présent, alors ce tableau sera rempli par les lignes retournées par la commande. Il faut noter que si ce tableau contient des éléments, exec() ajoutera les nouvelles lignes à la fin du tableau. Si vous ne voulez pars que les nouveaux éléments soient concaténés, utilisez la fonction unset() avec ce tableau avant de le passer à exec().

Si líargument return_var est présent en plus du tableau array, alors de status de retour díexécution sera inscrit dans cette variable.

Notez que si vous allez fournir des commandes qui proviennent díun utilisateur, il est avisé díutiliser la fonction

EscapeShellCmd() pour síassurer que líutilisateur níessaie pas de profiter des caractères spéciaux pour tromper le système.

system

system -- Exécute un programme externe et affiche le résultat

Description

string system(string command, int [return_var]);

System() est la version PHP de la fonction C qui exécute la commande commande et retourne le résultat. Si une variable est fournie comme second argument, alors le code de statut de la commande y sera affecté.

Notez que si vous allez fournir des commandes qui proviennent díun utilisateur, il est avisé díutiliser la fonction

EscapeShellCmd() pour síassurer que líutilisateur níessaie pas de profiter des caractères spéciaux pour tromper le système.

System() essaie automatiquement de vider les tampons du serveur web après chaque ligne de résultat PHP, lorsque ce dernier fonctionne comme un module.

Si vous devez exécuter une commande et récupérer tout le résultat dans aucune interférence, utilisez la fonction PassThru(). Voir aussi exec()et popen().

passthru

passthru -- Exécute un programme externe et affiche le résultat brut

Description

string passthru(string command, int [return_var]);

La fonction passthru() est similaire à la fonctio n Exec() car les deux exécutent la commande command. Si líargument return_var est présent, le code de statut de réponse UNIX y sera placé. Cette fonction doit être utilisé de préférence aux commandes Exec() ou System() lorsque le résultat attendu est de type binaire, et doit être passé tel quel à un navigateur. Une utilisation classique de cette fonction est líexécution de líutilitaire pbmplus qui peut retourner une image. En fixant le résultat du contenu (content-type) à image/gif puis en appelant pbmplus pour obtenir une image gif, vous pouvez créer des scripts PHP qui retourne des images.

XV. Forms Data Format functions

Forms Data Format (FDF) is a format for handling forms within PDF documents. You should read the documentation at http://partners.adobe.com/asn/developer/acrosdk/main.html for more information on what FDF is and how it is used in general.

Note: Currently Adobe only provides a libc5 compatible version for Linux. Tests with glibc2 resulted in a segmentation fault. If somebody is able to make it work, please comment on this page.

The general idea of FDF is similar to HTML forms. The diffence is basically the format how filled in data is transmitted to the server when the submit button is pressed (this is actually the Form Data Format) and the format of the form itself (which is the Portable Document Format, PDF). Processing the FDF data is one of the features provided by the fdf functions. But there is more.

One may as well take an existing PDF form and populated the input fields with data without modifying the form itself. In such a case one would create a FDF document (fdf_create()) set the values of each input field (fdf_set_value()) and associate it with a PDF form (fdf_set_file()). Finally it has to be sent to the browser with MimeType application/vnd.fdf. The Acrobat reader plugin of your browser recognizes the MimeType, reads the associated PDF form and fills in the data from the FDF document.

The following examples shows just the evaluation of form data.

Example 1. Evaluating a FDF document

<?php

// Save the FDF data into a temp file

$fdffp = fopen("test.fdf", "w");

fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));

fclose($fdffp);

// Open temp file and evaluate data

// The pdf form contained several input text fields with the names // volume, date, comment, publisher, preparer, and two checkboxes // show_publisher and show_preparer.

$fdf = fdf_open("test.fdf");

$volume = fdf_get_value($fdf, "volume");

echo "The volume field has the value '<B>$volume</B>'<BR>";

$date = fdf_get_value($fdf, "date");

echo "The date field has the value '<B>$date</B>'<BR>";

$comment = fdf_get_value($fdf, "comment");

echo "The comment field has the value '<B>$comment</B>'<BR>";

if(fdf_get_value($fdf, "show_publisher") == "On") { $publisher = fdf_get_value($fdf, "publisher");

echo "The publisher field has the value '<B>$publisher</B>'<BR>";

} else

echo "Publisher shall not be shown.<BR>";

if(fdf_get_value($fdf, "show_preparer") == "On") { $preparer = fdf_get_value($fdf, "preparer");

echo "The preparer field has the value '<B>$preparer</B>'<BR>";

} else

echo "Preparer shall not be shown.<BR>";

fdf_close($fdf);

?>

Dans le document Td corrigé Documentation PHP - Free pdf (Page 90-97)